home *** CD-ROM | disk | FTP | other *** search
/ Gold Medal Software 2 / Gold Medal Software Volume 2 (Gold Medal) (1994).iso / utils / tsx411a.arj / TSXLITE.DOC < prev    next >
Text File  |  1993-11-10  |  429KB  |  9,980 lines

  1.  
  2.  
  3.                                T S X  --  L i t e
  4.  
  5.  
  6.                                    Shareware
  7.  
  8.                    Multi-user/Multi-tasking Operating System
  9.  
  10.  
  11.                            S&H Computer Systems, Inc.
  12.  
  13.  
  14.       TSX-Lite is  a  full  32-bit,  multi-user,  multi-tasking  operating
  15.       system  for  386  and  486  computer systems.  TSX-Lite supports two
  16.       simultaneous users and  provides  multi-tasking  and  multi-sessions
  17.       allowing  each user to control up to 10 interactive sessions as well
  18.       as background batch jobs.
  19.  
  20.       TSX-Lite provides full support for modems and dial-in lines as  well
  21.       as  providing  the TSXTERM terminal emulator program.  This makes it
  22.       possible to call your computer and  remotely  execute  commands  and
  23.       programs.   TSX-Lite  can  also  be  used as a "server" to run doors
  24.       from BBS systems.
  25.  
  26.       TSX-Lite uses the same file structure as DOS,  so  you  can  install
  27.       TSX-Lite   on   a   DOS   based  computer  without  reformatting  or
  28.       partitioning your disk.  And, you can run TSX-Lite part of the  time
  29.       and  DOS  at  other  times  on the same computer.  TSX-Lite does not
  30.       support disk compression such as Stacker or DoubleSpace.
  31.  
  32.       TSX-Lite  runs  most  DOS  16-bit  programs  and  also  provides  an
  33.       advanced  32-bit  program  environment  with  integral EMS, XMS, and
  34.       DPMI support.  This allows execution of modern  32-bit  applications
  35.       that  need  not  be  constrained  by  the 640kb DOS partition.  Full
  36.       virtual memory support is  provided  with  demand  paging,  allowing
  37.       execution  of  programs larger than the physical memory installed on
  38.       the computer.
  39.  
  40.       TSX-Lite is not a limited, 16-bit, multi-DOS add-on.  Rather, it  is
  41.       a   complete  32-bit  operating  system  that  runs  exclusively  in
  42.       protected  mode  and  uses  the  full  potential  of  modern  32-bit
  43.       processors.   TSX-Lite  has  the  power  of  DESQView,  PC Anywhere,
  44.       386MAX, and Phar Lap combined.
  45.  
  46.       TSX-Lite requires a 386, 486, or Pentium  computer  system  with  at
  47.       least  4Mb  of  memory  and  10Mb  of  free disk space.  VGA and MDA
  48.       display  adapters  are  supported  along  with  a  variety  of  disk
  49.       adapters.
  50.  
  51.       TSX-Lite  is  a  shareware  version of the powerful TSX-32 operating
  52.       system which supports  over  100  simultaneous  users  and  provides
  53.       TCP/IP networking, real-time control, and other features.
  54.  
  55.       As  a  shareware product, you are granted a no-cost, trial period of
  56.       30 days during which you may evaluate TSX-Lite.
  57.  
  58.  
  59.  
  60.  
  61.  
  62.                                Table of Contents
  63.  
  64.  
  65.  
  66.       1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  1
  67.         1.1 What is TSX-Lite? . . . . . . . . . . . . . . . . . . . . .  2
  68.           1.1.1 Execution Scheduling  . . . . . . . . . . . . . . . . .  3
  69.           1.1.2 The TSX Kernel  . . . . . . . . . . . . . . . . . . . .  3
  70.         1.2 Why Use TSX-Lite? . . . . . . . . . . . . . . . . . . . . .  3
  71.  
  72.       2. Getting Started  . . . . . . . . . . . . . . . . . . . . . . .  6
  73.         2.1 Starting TSX  . . . . . . . . . . . . . . . . . . . . . . .  6
  74.         2.2 Run Your Program  . . . . . . . . . . . . . . . . . . . . .  7
  75.         2.3 Multi-tasking and the Session Manager . . . . . . . . . . .  7
  76.         2.4 The TSGEN Program . . . . . . . . . . . . . . . . . . . . .  9
  77.         2.5 Setting Up Multi-Tasking Applications . . . . . . . . . . . 11
  78.           2.5.1 Setting up Wildcat for TSX-Lite . . . . . . . . . . . . 12
  79.         2.6 Setting up COM Ports  . . . . . . . . . . . . . . . . . . . 13
  80.           2.6.1 Hardware Connections  . . . . . . . . . . . . . . . . . 13
  81.           2.6.2 Line Setup Options  . . . . . . . . . . . . . . . . . . 14
  82.           2.6.3 Setting up Phone lines  . . . . . . . . . . . . . . . . 17
  83.           2.6.4 Setting Up Password Protection  . . . . . . . . . . . . 18
  84.           2.6.5 Monitoring Serial Lines . . . . . . . . . . . . . . . . 19
  85.           2.6.6 Setting up COM3 and COM4  . . . . . . . . . . . . . . . 20
  86.         2.7 Setting up Mouse Support  . . . . . . . . . . . . . . . . . 21
  87.         2.8 Setting up CD ROM Support . . . . . . . . . . . . . . . . . 21
  88.         2.9 Returning to DOS  . . . . . . . . . . . . . . . . . . . . . 22
  89.  
  90.       3. Terminal Operations  . . . . . . . . . . . . . . . . . . . . . 23
  91.         3.1 Terminal Types  . . . . . . . . . . . . . . . . . . . . . . 23
  92.         3.2 Terminal Input Editor . . . . . . . . . . . . . . . . . . . 24
  93.         3.3 Control Characters  . . . . . . . . . . . . . . . . . . . . 24
  94.         3.4 Screen Saver  . . . . . . . . . . . . . . . . . . . . . . . 26
  95.         3.5 Communication Lines . . . . . . . . . . . . . . . . . . . . 26
  96.         3.6 International Keyboard Support  . . . . . . . . . . . . . . 27
  97.  
  98.       4. Running DOS Programs . . . . . . . . . . . . . . . . . . . . . 28
  99.         4.1 Installing and Tuning DOS Programs  . . . . . . . . . . . . 28
  100.         4.2 Direct Write Programs . . . . . . . . . . . . . . . . . . . 29
  101.         4.3 DOS Environment Variables . . . . . . . . . . . . . . . . . 30
  102.         4.4 16-bit Program Device Names . . . . . . . . . . . . . . . . 30
  103.         4.5 Support for COMMAND.COM and TSR Programs  . . . . . . . . . 31
  104.         4.6 Controlling DOS Program Input Loops . . . . . . . . . . . . 31
  105.         4.7 IDLETIME Attribute  . . . . . . . . . . . . . . . . . . . . 33
  106.         4.8 Printer Flush Sysgen Parameters . . . . . . . . . . . . . . 34
  107.         4.9 Virtual UART Support  . . . . . . . . . . . . . . . . . . . 34
  108.         4.10 Expanded Memory Support (EMS)  . . . . . . . . . . . . . . 35
  109.         4.11 Extended Memory Support (XMS)  . . . . . . . . . . . . . . 35
  110.         4.12 DPMI Support . . . . . . . . . . . . . . . . . . . . . . . 36
  111.         4.13 Phar Lap Native System Services  . . . . . . . . . . . . . 36
  112.  
  113.  
  114.  
  115.                                        i
  116.  
  117.       Contents                                                          ii
  118.  
  119.  
  120.       5. The TSX Command Language . . . . . . . . . . . . . . . . . . . 38
  121.         5.1 Command Qualifiers  . . . . . . . . . . . . . . . . . . . . 38
  122.         5.2 Wildcard Specifications . . . . . . . . . . . . . . . . . . 39
  123.         5.3 TSX Device Names  . . . . . . . . . . . . . . . . . . . . . 39
  124.         5.4 Internal and External Commands  . . . . . . . . . . . . . . 40
  125.  
  126.       6. The System Menu  . . . . . . . . . . . . . . . . . . . . . . . 42
  127.  
  128.       7. Symbols and Logical Names  . . . . . . . . . . . . . . . . . . 43
  129.         7.1 Defining Symbols with String Assignment Operators . . . . . 43
  130.         7.2 Defining Symbols with Numeric Assignment Operators  . . . . 44
  131.         7.3 ASSIGN Command and Logical Device Names . . . . . . . . . . 44
  132.  
  133.       8. Printing . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
  134.         8.1 Spooler and Queue Manager . . . . . . . . . . . . . . . . . 47
  135.         8.2 Setting Up the Printer Queues . . . . . . . . . . . . . . . 48
  136.         8.3 Printing from DOS Programs  . . . . . . . . . . . . . . . . 49
  137.         8.4 Terminal Printers . . . . . . . . . . . . . . . . . . . . . 50
  138.         8.5 Advanced Features . . . . . . . . . . . . . . . . . . . . . 51
  139.  
  140.       9. Command Procedures (Batch Files) . . . . . . . . . . . . . . . 52
  141.         9.1 Introduction  . . . . . . . . . . . . . . . . . . . . . . . 52
  142.         9.2 Invoking Command Procedures . . . . . . . . . . . . . . . . 52
  143.         9.3 Background Batch Jobs . . . . . . . . . . . . . . . . . . . 53
  144.         9.4 Branching: Labels and GOTO  . . . . . . . . . . . . . . . . 54
  145.         9.5 Symbols and Operators . . . . . . . . . . . . . . . . . . . 55
  146.         9.6 Conditionals: IF  . . . . . . . . . . . . . . . . . . . . . 55
  147.         9.7 User Interaction: DISPLAY and INQUIRE . . . . . . . . . . . 55
  148.         9.8 Seeing Commands . . . . . . . . . . . . . . . . . . . . . . 56
  149.         9.9 Expression Operators  . . . . . . . . . . . . . . . . . . . 56
  150.           9.9.1 Numeric Operators . . . . . . . . . . . . . . . . . . . 56
  151.           9.9.2 String Operators  . . . . . . . . . . . . . . . . . . . 56
  152.           9.9.3 Numeric Comparison  . . . . . . . . . . . . . . . . . . 56
  153.           9.9.4 String Comparions . . . . . . . . . . . . . . . . . . . 56
  154.           9.9.5 Logical Operators . . . . . . . . . . . . . . . . . . . 57
  155.         9.10 Lexical Functions  . . . . . . . . . . . . . . . . . . . . 57
  156.  
  157.       10. Multiuser Computing . . . . . . . . . . . . . . . . . . . . . 62
  158.         10.1 Workstations . . . . . . . . . . . . . . . . . . . . . . . 62
  159.         10.2 Commands for the Multiuser Environment . . . . . . . . . . 63
  160.           10.2.1 BATCH Command  . . . . . . . . . . . . . . . . . . . . 63
  161.           10.2.2 SHOW Commands  . . . . . . . . . . . . . . . . . . . . 64
  162.           10.2.3 STOP Command . . . . . . . . . . . . . . . . . . . . . 64
  163.           10.2.4 SEND Command . . . . . . . . . . . . . . . . . . . . . 64
  164.           10.2.5 PHONE Command  . . . . . . . . . . . . . . . . . . . . 65
  165.           10.2.6 TUTOR Command  . . . . . . . . . . . . . . . . . . . . 65
  166.         10.3 Virtual Memory . . . . . . . . . . . . . . . . . . . . . . 65
  167.         10.4 Data Caching . . . . . . . . . . . . . . . . . . . . . . . 67
  168.         10.5 Logon Access Control . . . . . . . . . . . . . . . . . . . 67
  169.         10.6 Event Logs . . . . . . . . . . . . . . . . . . . . . . . . 68
  170.         10.7 NetBIOS Support  . . . . . . . . . . . . . . . . . . . . . 68
  171.         10.8 Mailboxes and Shared Memory Regions  . . . . . . . . . . . 69
  172.  
  173.       11. TSXTERM . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
  174.         11.1 Installing TSXTERM . . . . . . . . . . . . . . . . . . . . 70
  175.  
  176.       Contents                                                         iii
  177.  
  178.  
  179.         11.2 Using TSXTERM  . . . . . . . . . . . . . . . . . . . . . . 70
  180.         11.3 Control Screens  . . . . . . . . . . . . . . . . . . . . . 70
  181.         11.4 Configuring TSXTERM  . . . . . . . . . . . . . . . . . . . 71
  182.         11.5 Using Modem Connections  . . . . . . . . . . . . . . . . . 72
  183.         11.6 Using Direct Connections . . . . . . . . . . . . . . . . . 72
  184.         11.7 Printer Support  . . . . . . . . . . . . . . . . . . . . . 73
  185.         11.8 Background File Transfer . . . . . . . . . . . . . . . . . 73
  186.         11.9 Session Logging  . . . . . . . . . . . . . . . . . . . . . 73
  187.  
  188.       12. System Management . . . . . . . . . . . . . . . . . . . . . . 74
  189.         12.1 Overview of System Startup . . . . . . . . . . . . . . . . 74
  190.         12.2 Startup Command Files  . . . . . . . . . . . . . . . . . . 74
  191.         12.3 System Customization . . . . . . . . . . . . . . . . . . . 75
  192.           12.3.1 Line Startup Procedures  . . . . . . . . . . . . . . . 75
  193.           12.3.2 User Authorization . . . . . . . . . . . . . . . . . . 76
  194.           12.3.3 System Wide Settings . . . . . . . . . . . . . . . . . 76
  195.         12.4 System Tuning  . . . . . . . . . . . . . . . . . . . . . . 77
  196.           12.4.1 Introduction . . . . . . . . . . . . . . . . . . . . . 77
  197.           12.4.2 CSHSIZE: Cache size  . . . . . . . . . . . . . . . . . 77
  198.           12.4.3 VMAXJOBS: Job limit  . . . . . . . . . . . . . . . . . 77
  199.           12.4.4 DOWINPRT: Window Print . . . . . . . . . . . . . . . . 78
  200.           12.4.5 DOQUEUES: Queue Manager and Spooler  . . . . . . . . . 78
  201.           12.4.6 MAXP0MEM: Maximum Memory Space . . . . . . . . . . . . 78
  202.           12.4.7 PGFILSIZ: Page File Size . . . . . . . . . . . . . . . 78
  203.           12.4.8 POOLSIZEN: System Pool Space . . . . . . . . . . . . . 78
  204.           12.4.9 RAMDISKSIZ: Virtual Disk . . . . . . . . . . . . . . . 79
  205.  
  206.       13. Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . 80
  207.         13.1 RUNTSX Fails During TSX Start  . . . . . . . . . . . . . . 81
  208.         13.2 Keyboard Is Dead . . . . . . . . . . . . . . . . . . . . . 81
  209.         13.3 Serial Terminal Does Not Work  . . . . . . . . . . . . . . 81
  210.         13.4 Screen is Corrupted after Session Switch . . . . . . . . . 82
  211.         13.5 Mouse Does Not Work  . . . . . . . . . . . . . . . . . . . 82
  212.         13.6 TSX Does Not Answer Incoming Calls . . . . . . . . . . . . 82
  213.         13.7 Trash Characters During Logon and Screen Refresh . . . . . 82
  214.         13.8 Lost Characters or Retries During File Transfers . . . . . 83
  215.         13.9 Unable to Run TSR Programs . . . . . . . . . . . . . . . . 83
  216.         13.10 Queue Manager and Spooler Are Gone  . . . . . . . . . . . 83
  217.         13.11 Slow Performance -- Excessive Memory Paging . . . . . . . 84
  218.  
  219.       14. TSX Command Summary . . . . . . . . . . . . . . . . . . . . . 85
  220.         14.1 ALLOCATE . . . . . . . . . . . . . . . . . . . . . . . . . 86
  221.         14.2 ASSIGN . . . . . . . . . . . . . . . . . . . . . . . . . . 86
  222.         14.3 ASSIGNMENT Expressions . . . . . . . . . . . . . . . . . . 86
  223.         14.4 ASSIGNMENT for strings . . . . . . . . . . . . . . . . . . 87
  224.         14.5 BACKUP . . . . . . . . . . . . . . . . . . . . . . . . . . 87
  225.         14.6 BATCH  . . . . . . . . . . . . . . . . . . . . . . . . . . 91
  226.         14.7 BOOT . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
  227.         14.8 BYE  . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
  228.         14.9 CALCULATE  . . . . . . . . . . . . . . . . . . . . . . . . 92
  229.         14.10 CALENDAR  . . . . . . . . . . . . . . . . . . . . . . . . 93
  230.         14.11 CALL  . . . . . . . . . . . . . . . . . . . . . . . . . . 93
  231.         14.12 CHAIN . . . . . . . . . . . . . . . . . . . . . . . . . . 93
  232.         14.13 CHDIR . . . . . . . . . . . . . . . . . . . . . . . . . . 94
  233.         14.14 CLS . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
  234.  
  235.       Contents                                                          iv
  236.  
  237.  
  238.         14.15 COPY  . . . . . . . . . . . . . . . . . . . . . . . . . . 95
  239.         14.16 COUNT . . . . . . . . . . . . . . . . . . . . . . . . . . 97
  240.         14.17 DATE  . . . . . . . . . . . . . . . . . . . . . . . . . . 98
  241.         14.18 DEALLOCATE  . . . . . . . . . . . . . . . . . . . . . . . 98
  242.         14.19 DEASSIGN  . . . . . . . . . . . . . . . . . . . . . . . . 98
  243.         14.20 DEFINE KEY  . . . . . . . . . . . . . . . . . . . . . . . 99
  244.         14.21 DELETE  . . . . . . . . . . . . . . . . . . . . . . . . . 99
  245.         14.22 DETACH  . . . . . . . . . . . . . . . . . . . . . . . .  100
  246.         14.23 DIFFERENCES . . . . . . . . . . . . . . . . . . . . . .  102
  247.         14.24 DIRECTORY . . . . . . . . . . . . . . . . . . . . . . .  104
  248.         14.25 DISPLAY . . . . . . . . . . . . . . . . . . . . . . . .  106
  249.         14.26 DOS . . . . . . . . . . . . . . . . . . . . . . . . . .  106
  250.         14.27 DUMP  . . . . . . . . . . . . . . . . . . . . . . . . .  106
  251.         14.28 EDIT  . . . . . . . . . . . . . . . . . . . . . . . . .  107
  252.         14.29 EVALUATE  . . . . . . . . . . . . . . . . . . . . . . .  107
  253.         14.30 EVENT . . . . . . . . . . . . . . . . . . . . . . . . .  108
  254.         14.31 EXIT  . . . . . . . . . . . . . . . . . . . . . . . . .  108
  255.         14.32 EXPAND  . . . . . . . . . . . . . . . . . . . . . . . .  108
  256.         14.33 FILEWATCH . . . . . . . . . . . . . . . . . . . . . . .  110
  257.         14.34 FMAN  . . . . . . . . . . . . . . . . . . . . . . . . .  111
  258.         14.35 FORMAT  . . . . . . . . . . . . . . . . . . . . . . . .  114
  259.         14.36 GOTO  . . . . . . . . . . . . . . . . . . . . . . . . .  115
  260.         14.37 HANLOAD . . . . . . . . . . . . . . . . . . . . . . . .  115
  261.         14.38 HELP  . . . . . . . . . . . . . . . . . . . . . . . . .  115
  262.         14.39 IF  . . . . . . . . . . . . . . . . . . . . . . . . . .  115
  263.         14.40 INITIALIZE  . . . . . . . . . . . . . . . . . . . . . .  116
  264.         14.41 INQUIRE . . . . . . . . . . . . . . . . . . . . . . . .  116
  265.         14.42 JMAN  . . . . . . . . . . . . . . . . . . . . . . . . .  117
  266.         14.43 KERMIT  . . . . . . . . . . . . . . . . . . . . . . . .  117
  267.         14.44 KEYLOAD . . . . . . . . . . . . . . . . . . . . . . . .  117
  268.         14.45 KILL  . . . . . . . . . . . . . . . . . . . . . . . . .  118
  269.         14.46 LOGOFF  . . . . . . . . . . . . . . . . . . . . . . . .  118
  270.         14.47 MACROS  . . . . . . . . . . . . . . . . . . . . . . . .  118
  271.         14.48 MAIL  . . . . . . . . . . . . . . . . . . . . . . . . .  120
  272.         14.49 MD  . . . . . . . . . . . . . . . . . . . . . . . . . .  120
  273.         14.50 MESSAGE . . . . . . . . . . . . . . . . . . . . . . . .  120
  274.         14.51 MKDIR . . . . . . . . . . . . . . . . . . . . . . . . .  121
  275.         14.52 MN  . . . . . . . . . . . . . . . . . . . . . . . . . .  121
  276.         14.53 OFF . . . . . . . . . . . . . . . . . . . . . . . . . .  121
  277.         14.54 ON  . . . . . . . . . . . . . . . . . . . . . . . . . .  121
  278.         14.55 PATH  . . . . . . . . . . . . . . . . . . . . . . . . .  122
  279.         14.56 PAUSE . . . . . . . . . . . . . . . . . . . . . . . . .  123
  280.         14.57 PHONE . . . . . . . . . . . . . . . . . . . . . . . . .  123
  281.         14.58 PMAN  . . . . . . . . . . . . . . . . . . . . . . . . .  123
  282.         14.59 PRINT . . . . . . . . . . . . . . . . . . . . . . . . .  124
  283.         14.60 PROMPT  . . . . . . . . . . . . . . . . . . . . . . . .  125
  284.         14.61 PROTECT . . . . . . . . . . . . . . . . . . . . . . . .  126
  285.         14.62 QMAN  . . . . . . . . . . . . . . . . . . . . . . . . .  126
  286.         14.63 R . . . . . . . . . . . . . . . . . . . . . . . . . . .  127
  287.         14.64 RD  . . . . . . . . . . . . . . . . . . . . . . . . . .  127
  288.         14.65 RECALL  . . . . . . . . . . . . . . . . . . . . . . . .  127
  289.         14.66 RENAME  . . . . . . . . . . . . . . . . . . . . . . . .  128
  290.         14.67 RESTORE . . . . . . . . . . . . . . . . . . . . . . . .  129
  291.         14.68 RMDIR . . . . . . . . . . . . . . . . . . . . . . . . .  131
  292.         14.69 RUN . . . . . . . . . . . . . . . . . . . . . . . . . .  131
  293.  
  294.       Contents                                                           v
  295.  
  296.  
  297.         14.70 SEARCH  . . . . . . . . . . . . . . . . . . . . . . . .  132
  298.         14.71 SEND  . . . . . . . . . . . . . . . . . . . . . . . . .  135
  299.         14.72 SET CMDPROC . . . . . . . . . . . . . . . . . . . . . .  136
  300.         14.73 SET DATE  . . . . . . . . . . . . . . . . . . . . . . .  137
  301.         14.74 SET DEFAULT . . . . . . . . . . . . . . . . . . . . . .  137
  302.         14.75 SET EDIT  . . . . . . . . . . . . . . . . . . . . . . .  137
  303.         14.76 SET ENTRY . . . . . . . . . . . . . . . . . . . . . . .  138
  304.         14.77 SET EVENT . . . . . . . . . . . . . . . . . . . . . . .  138
  305.         14.78 SET HOST  . . . . . . . . . . . . . . . . . . . . . . .  138
  306.         14.79 SET LOGOFF  . . . . . . . . . . . . . . . . . . . . . .  140
  307.         14.80 SET LOG . . . . . . . . . . . . . . . . . . . . . . . .  140
  308.         14.81 SET MESSAGE . . . . . . . . . . . . . . . . . . . . . .  141
  309.         14.82 SET NEWSTATISTICS . . . . . . . . . . . . . . . . . . .  141
  310.         14.83 SET PRINTWINDOW . . . . . . . . . . . . . . . . . . . .  142
  311.         14.84 SET PROCESS . . . . . . . . . . . . . . . . . . . . . .  143
  312.         14.85 SET . . . . . . . . . . . . . . . . . . . . . . . . . .  144
  313.         14.86 SET SYSTEM  . . . . . . . . . . . . . . . . . . . . . .  144
  314.         14.87 SET TERMINAL  . . . . . . . . . . . . . . . . . . . . .  145
  315.         14.88 SET TIME  . . . . . . . . . . . . . . . . . . . . . . .  148
  316.         14.89 SET VERIFY  . . . . . . . . . . . . . . . . . . . . . .  148
  317.         14.90 SET VIDEO . . . . . . . . . . . . . . . . . . . . . . .  148
  318.         14.91 SET WINDOW  . . . . . . . . . . . . . . . . . . . . . .  149
  319.         14.92 SET WORKING_SET . . . . . . . . . . . . . . . . . . . .  149
  320.         14.93 SHOW ALL  . . . . . . . . . . . . . . . . . . . . . . .  150
  321.         14.94 SHOW ASSIGNS  . . . . . . . . . . . . . . . . . . . . .  150
  322.         14.95 SHOW AUTHORS  . . . . . . . . . . . . . . . . . . . . .  151
  323.         14.96 SHOW CACHE  . . . . . . . . . . . . . . . . . . . . . .  151
  324.         14.97 SHOW COLORS . . . . . . . . . . . . . . . . . . . . . .  151
  325.         14.98 SHOW DATE . . . . . . . . . . . . . . . . . . . . . . .  151
  326.         14.99 SHOW DEVICES  . . . . . . . . . . . . . . . . . . . . .  151
  327.         14.100 SHOW ERRORS  . . . . . . . . . . . . . . . . . . . . .  152
  328.         14.101 SHOW EVENTS  . . . . . . . . . . . . . . . . . . . . .  152
  329.         14.102 SHOW FILES . . . . . . . . . . . . . . . . . . . . . .  152
  330.         14.103 SHOW FSTATUS . . . . . . . . . . . . . . . . . . . . .  153
  331.         14.104 SHOW JOBS  . . . . . . . . . . . . . . . . . . . . . .  153
  332.         14.105 SHOW KEYS  . . . . . . . . . . . . . . . . . . . . . .  153
  333.         14.106 SHOW MEMORY  . . . . . . . . . . . . . . . . . . . . .  153
  334.         14.107 SHOW NAME  . . . . . . . . . . . . . . . . . . . . . .  153
  335.         14.108 SHOW PAGING  . . . . . . . . . . . . . . . . . . . . .  153
  336.         14.109 SHOW PRIVILEGES  . . . . . . . . . . . . . . . . . . .  154
  337.         14.110 SHOW QUEUE . . . . . . . . . . . . . . . . . . . . . .  154
  338.         14.111 SHOW SYMBOLS . . . . . . . . . . . . . . . . . . . . .  154
  339.         14.112 SHOW SYSTEM  . . . . . . . . . . . . . . . . . . . . .  155
  340.         14.113 SHOW TERMINALS . . . . . . . . . . . . . . . . . . . .  155
  341.         14.114 SHOW TIME  . . . . . . . . . . . . . . . . . . . . . .  155
  342.         14.115 SHOW UIC . . . . . . . . . . . . . . . . . . . . . . .  156
  343.         14.116 SHOW USE . . . . . . . . . . . . . . . . . . . . . . .  156
  344.         14.117 SHOW USERS . . . . . . . . . . . . . . . . . . . . . .  156
  345.         14.118 SHOW VERSION . . . . . . . . . . . . . . . . . . . . .  156
  346.         14.119 SHUTDOWN . . . . . . . . . . . . . . . . . . . . . . .  156
  347.         14.120 SORT . . . . . . . . . . . . . . . . . . . . . . . . .  156
  348.         14.121 SPY  . . . . . . . . . . . . . . . . . . . . . . . . .  158
  349.         14.122 STOP . . . . . . . . . . . . . . . . . . . . . . . . .  159
  350.         14.123 SUBPROCESS . . . . . . . . . . . . . . . . . . . . . .  159
  351.         14.124 SYSMON . . . . . . . . . . . . . . . . . . . . . . . .  160
  352.  
  353.       Contents                                                          vi
  354.  
  355.  
  356.         14.125 SYSTAT . . . . . . . . . . . . . . . . . . . . . . . .  160
  357.         14.126 TIME . . . . . . . . . . . . . . . . . . . . . . . . .  160
  358.         14.127 TMAN . . . . . . . . . . . . . . . . . . . . . . . . .  160
  359.         14.128 TSAUTH . . . . . . . . . . . . . . . . . . . . . . . .  161
  360.         14.129 TUTOR  . . . . . . . . . . . . . . . . . . . . . . . .  161
  361.         14.130 TYPE . . . . . . . . . . . . . . . . . . . . . . . . .  161
  362.         14.131 TSGEN  . . . . . . . . . . . . . . . . . . . . . . . .  162
  363.         14.132 UNPROTECT  . . . . . . . . . . . . . . . . . . . . . .  162
  364.         14.133 VERSION  . . . . . . . . . . . . . . . . . . . . . . .  163
  365.         14.134 WAIT . . . . . . . . . . . . . . . . . . . . . . . . .  163
  366.         14.135 WHO  . . . . . . . . . . . . . . . . . . . . . . . . .  163
  367.         14.136 WIN  . . . . . . . . . . . . . . . . . . . . . . . . .  163
  368.         14.137 WSCMD  . . . . . . . . . . . . . . . . . . . . . . . .  164
  369.  
  370.       15. Use and Distribution of TSX-Lite  . . . . . . . . . . . . .  166
  371.         15.1 Redistribution of TSX-Lite . . . . . . . . . . . . . . .  166
  372.         15.2 Registering TSX-Lite . . . . . . . . . . . . . . . . . .  166
  373.         15.3 Telephone Support  . . . . . . . . . . . . . . . . . . .  166
  374.         15.4 Copyright notice . . . . . . . . . . . . . . . . . . . .  167
  375.         15.5 Disclaimer . . . . . . . . . . . . . . . . . . . . . . .  167
  376.  
  377.       16. The Full TSX-32 System  . . . . . . . . . . . . . . . . . .  168
  378.         16.1 Support for Large Systems  . . . . . . . . . . . . . . .  168
  379.         16.2 Networking . . . . . . . . . . . . . . . . . . . . . . .  168
  380.         16.3 Real-time Support  . . . . . . . . . . . . . . . . . . .  168
  381.         16.4 Disk Shadowing . . . . . . . . . . . . . . . . . . . . .  168
  382.         16.5 Tape Support . . . . . . . . . . . . . . . . . . . . . .  169
  383.         16.6 X-Windows  . . . . . . . . . . . . . . . . . . . . . . .  169
  384.         16.7 MessageNet . . . . . . . . . . . . . . . . . . . . . . .  169
  385.         16.8 Single-user Option . . . . . . . . . . . . . . . . . . .  169
  386.  
  387.       Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  171
  388.  
  389.  
  390.  
  391.  
  392.  
  393.  
  394.                                    Chapter 1
  395.  
  396.                                   Introduction
  397.  
  398.  
  399.  
  400.  
  401.       If you are like most  DOS  users  you  probably  suspect  that  your
  402.       computer  has  a  lot  more power than you are currently using.  You
  403.       are right.   But  to  tap  that  power  you  need  a  more  powerful
  404.       operating  system than DOS; you need a system which was designed for
  405.       modern 386,  486,  and  Pentium  computers,  a  system  which  fully
  406.       utilizes  the  hardware  potential such as protected execution mode,
  407.       virtual  memory,  and  32-bit  programs.   You  need  a  multi-user,
  408.       multi-tasking  system  that  allows more than one user to access the
  409.       computer and allows you to execute multiple tasks at the same  time.
  410.       You need TSX.
  411.  
  412.       Although  the primary purpose of TSX is not to emulate DOS, you will
  413.       find that most  DOS  commands  and  programs  work  with  TSX  in  a
  414.       multi-user   environment.    And,  since  TSX  uses  the  same  file
  415.       structure as DOS, you can install it on the same  disk  as  DOS  and
  416.       run  it  part  of the time and DOS at other times.  Files created by
  417.       TSX or  DOS  are  completely  compatible.   However,  TSX  does  not
  418.       support   software   disk   compression  schemes  like  Stacker  and
  419.       DoubleSpace.
  420.  
  421.       This  manual  does  not  fully  document  TSX.   The  entire  TSX-32
  422.       documentation  set, including User's Manual, System Services, System
  423.       Management, Networking, etc.  is over 1,500 pages.   The  philosophy
  424.       of  this manual is to introduce TSX-Lite and provide you with enough
  425.       information to use it productively.  See the REGISTER.DOC  file  for
  426.       information about ordering TSX-32 manuals.
  427.  
  428.       In this document you will learn:
  429.  
  430.         . What TSX-Lite is;
  431.  
  432.         . Why it's better to run your software programs under TSX;
  433.  
  434.         . How to use features of your TSX-Lite system;
  435.  
  436.         . Benefits of registration and full TSX-32 systems.
  437.  
  438.  
  439.  
  440.  
  441.  
  442.  
  443.  
  444.  
  445.  
  446.                                        1
  447.  
  448.       Chapter 1. Introduction                                            2
  449.  
  450.  
  451.       1.1 What is TSX-Lite?
  452.  
  453.       TSX  is  a  multi-user,  multi-tasking operating system.  This means
  454.       several users can access the system at the same time, and each  user
  455.       can  control  several  jobs.   TSX-Lite is somewhat like DESQView in
  456.       that you can simultaneously run many programs or several  copies  of
  457.       the  same program such a bulletin board software.  But you will find
  458.       that TSX-Lite provides much more than just a multi-tasking system.
  459.  
  460.       We use the terms job, task, and process interchangeably to  describe
  461.       one  computing operation.  The term "session" describes specifically
  462.       a job which is being controlled by a user sitting at a terminal  (or
  463.       the console) as opposed to a batch or detached job.
  464.  
  465.       With  its  dial-in support, TSX is little like a multi-node bulletin
  466.       board except that with a full multi-user system like TSX  each  user
  467.       can  run any sets of commands and programs rather than being limited
  468.       to a specific set of programs (or "doors") that  are  controlled  by
  469.       the  bulletin board.  For example, one user can edit a document with
  470.       a word processor while another user runs a  spreadsheet  or  uses  a
  471.       database program.
  472.  
  473.       TSX-Lite  can also be used as a "server" for multi-node BBS systems.
  474.       To do this the BBS system would run on one computer and TSX-Lite  on
  475.       a  different  one.  The BBS computer would be linked to the TSX-Lite
  476.       system with one or more hardwired serial connections.  Users on  the
  477.       BBS  who  wanted  to  run  programs or perform other functions would
  478.       cause the BBS to connect their incoming line to one  of  the  serial
  479.       lines  going  to  the  TSX-Lite system.  The BBS user could then log
  480.       onto the TSX-Lite system and run "door"  programs  or  any  type  of
  481.       application.   With  a  full  TSX-32  system  and the TSX-32 network
  482.       applications kit it is even  possible  to  use  Telnet  and  FTP  to
  483.       access  the Internet or other systems through an arrangement of this
  484.       type.
  485.  
  486.       Using TSX-Lite with the TSXTERM terminal emulator  program  that  is
  487.       provided  is  a little like using PC Anywhere: you can call in using
  488.       a modem and execute commands and run programs.  And  you  will  find
  489.       that  TSX's  remote support is so good that you can remotely execute
  490.       even complex programs like WordPerfect, FoxPro, and Lotus 1-2-3.
  491.  
  492.       TSX coordinates file access so that  multiple  users  can  read  and
  493.       write  the  same  or  different files.  This makes TSX a natural and
  494.       efficient system for applications such as pharmacies, video  stores,
  495.       or  other  situations  where multiple terminals are used to access a
  496.       common database.
  497.  
  498.       A multi-user operating system is a little like  a  computer  network
  499.       such  as  Novell  or  Lantastic:  many  users  can  run a variety of
  500.       programs at the same time and they can  access  common  data  files.
  501.       However,  whereas  a  network  requires each user to have a separate
  502.       computer, and usually a dedicated file server, a  multi-user  system
  503.       allows  many  users  to  run programs and access common files on the
  504.       same computer.  Each user will have an inexpensive  serial  terminal
  505.  
  506.       Chapter 1. Introduction                                            3
  507.  
  508.  
  509.       or  a low-end computer with terminal emulation software, but all the
  510.       "computing" takes place on the central system.
  511.  
  512.       The multi-user approach has many  advantages.   First,  it  is  less
  513.       expensive  since you do not have to buy a separate computer for each
  514.       user.  Second, it is more efficient  since  files  can  be  accessed
  515.       directly  without  having  to  transfer  data  through  the network.
  516.       Third, management and upkeep of a single  computer  is  much  easier
  517.       than  a  network.   Fourth, a multi-user system such as TSX supports
  518.       both hard-wired and dial-in users.
  519.  
  520.       The  full  TSX-32  system  is  actually  both  a  multi-user  and  a
  521.       networking   operating  system.   The  basic  system  is  inherently
  522.       multi-user and is capable of running dozens of  users  on  a  single
  523.       computer.    The   networking  option  provides  TCP/IP  support  so
  524.       multiple TSX systems can be linked together via Ethernet  or  serial
  525.       connections.   With  a network of TSX systems a user on any computer
  526.       can access files and devices on any other  computer;  also,  a  user
  527.       can  log  into  another  computer in the network and run programs or
  528.       perform other operations on remote computers.
  529.  
  530.       1.1.1 Execution Scheduling
  531.  
  532.       The  multi-user,  multi-tasking  operation  is  achieved  through  a
  533.       technique  called  "time-sharing,"  in  which  the  operating system
  534.       allocates the CPU to the jobs as they have need for it,  giving  the
  535.       illusion  that  each  user  has  the full attention of the computer.
  536.       The  quality  of  the   execution   scheduling   algorithm   largely
  537.       determines  how  efficient  and  responsive  a  multi-user operating
  538.       system is.  TSX uses  a  patented  "Adaptive  Scheduling  Algorithm"
  539.       (trade  mark)  that  does  a  very  good job of sharing the CPU time
  540.       among the competing jobs and overlaps the I/O wait time for one  job
  541.       with   the   execution   of  others.   Until  recently,  multi-user,
  542.       time-sharing systems such  as  TSX  were  available  only  on  large
  543.       mainframe and mini-computer systems.
  544.  
  545.       1.1.2 The TSX Kernel
  546.  
  547.       The  "brain" of the TSX operating system called the "kernel".  It is
  548.       located in the file TSX32.SYS which  must  be  stored  in  the  root
  549.       directory.   When you type RUNTSX to start the TSX operating system,
  550.       the kernel is loaded into  memory  and  control  of  the  system  is
  551.       transferred  to  it.   At this point, DOS and the BIOS are no longer
  552.       running.  All functions that were previously controlled by  DOS  and
  553.       the  BIOS are now assumed by TSX.  But don't worry, DOS and the BIOS
  554.       are still there so you can reboot at any time and run DOS.
  555.  
  556.  
  557.       1.2 Why Use TSX-Lite?
  558.  
  559.       There are several reasons to choose TSX as your operating system:
  560.  
  561.         . TSX is a multi-user system.  In addition to the primary user  at
  562.           the  console,  your  TSX-Lite  system allows a second user to be
  563.           connected through the  COM1  or  COM2  port.   The  full  TSX-32
  564.  
  565.       Chapter 1. Introduction                                            4
  566.  
  567.  
  568.           system  supports  an  unlimited  number  of users.  Although the
  569.           practical limit is set by the configuration  of  your  computer,
  570.           we  have  386  and  486  systems  installed  supporting over 100
  571.           simultaneous users.  TSX-Lite, the shareware version of  TSX-32,
  572.           supports a maximum of 2 users.
  573.  
  574.         . TSX  provides  multi-tasking and background batch jobs.  Using a
  575.           technique called Process Windowing, each user can control up  to
  576.           10  tasks.   In  addition,  many  jobs  can  be  running  in the
  577.           background as batch jobs (see Section 9.3).   This  allows  long
  578.           running  tasks  to  execute  in the background while you use the
  579.           computer  for  other  tasks.   You  can  also  execute  multiple
  580.           "detached"  jobs  which  can  provide server functions for other
  581.           jobs.  Detached jobs are not connected to any terminal.
  582.  
  583.         . TSX supports modems and dial-in lines.   You  can  set  up  your
  584.           TSX-Lite  system  so  that you, or other users, can call in from
  585.           remote locations and run programs.  A terminal  emulator  called
  586.           TSXTERM,  that  is  optimized  for  remote  access  to  TSX,  is
  587.           provided  with  your  TSX-Lite  package.   See  Chapter  11  for
  588.           additional   information   about  TSXTERM.   You  can  also  use
  589.           programs like Procomm to call into  TSX  systems.   An  optional
  590.           TSX-Lite  Security  Kit  is  available  with  programs  to limit
  591.           access to the system and control file access on  a  user-by-user
  592.           basis.
  593.  
  594.         . TSX  can  run  arbitrarily  large  programs.   Using a technique
  595.           called virtual memory, the size of programs can actually  exceed
  596.           the amount of physical memory in the computer.
  597.  
  598.         . TSX  runs  a variety of programs.  The evolution of the computer
  599.           industry  has  extended  programs  beyond  the  world  of   DOS.
  600.           Programs  requiring  DPMI  (a  technique  that  allows  DOS type
  601.           programs, which are normally 16-bit, to  run  in  32-bit  mode),
  602.           Phar  lap  (a  similar  technique),  as  well  as  native 32-bit
  603.           software can all be run simultaneously.  TSX  has  the  combined
  604.           power of 386MAX and Phar Lap.
  605.  
  606.         . TSX  uses  the  "protected  mode" of 386/486/Pentium processors.
  607.           This protects TSX and other programs  from  the  misbehavior  of
  608.           one  user's  programs  and  greatly  reduces  the occurrences of
  609.           system "hangs" or "crashes".
  610.  
  611.         . TSX uses the same file structure as DOS.  This  means  that  you
  612.           can  run TSX some of the time and DOS at other times on the same
  613.           disk without having to reformat or partition it.  It also  means
  614.           that  data can be exchanged easily between TSX based systems and
  615.           DOS  systems.   TSX-Lite  does  not  support  disk   compression
  616.           software such as Stacker or DOS version 6's DoubleSpace.
  617.  
  618.         . Data  caching  is  an  integral  part of TSX.  This cache stores
  619.           frequently accessed data in memory and can greatly increase  the
  620.           speed  of  some I/O intensive programs.  On large-memory systems
  621.           the TSX data cache can be configured to  store  up  to  12Mb  of
  622.           data.
  623.  
  624.       Chapter 1. Introduction                                            5
  625.  
  626.  
  627.         . TSX  is  a  comprehensive  system  that  includes as part of its
  628.           basic support XMS, EMS,  DPMI,  virtual  memory,  disk  caching,
  629.           multi-tasking,  remote  access,  terminal emulation, and NetBIOS
  630.           (for local program-to-program  communication),  so  you  do  not
  631.           have to buy and install additional products.
  632.  
  633.         . The  TSX  environment  includes  literally  hundreds of features
  634.           designed to make life easier, not just  for  your  software  but
  635.           for you.
  636.  
  637.         . There  is  an  easy growth path from TSX-Lite to the full TSX-32
  638.           system which  supports  dozens  of  users  and  provides  TCP/IP
  639.           networking and many other features.
  640.  
  641.         . S&H  Computer  Systems  has  an outstanding support team that is
  642.           there to help you.  Registered TSX-Lite users  receive  90  days
  643.           of  support  via mail, FAX, or CompuServe at no additional cost.
  644.           Telephone support is also available; see Section  15.3  on  page
  645.           166 for details.
  646.  
  647.  
  648.  
  649.  
  650.  
  651.  
  652.                                    Chapter 2
  653.  
  654.                                 Getting Started
  655.  
  656.  
  657.  
  658.  
  659.  
  660.       2.1 Starting TSX
  661.  
  662.       If  you have not already done so, you should follow the instructions
  663.       in the INSTALL.DOC file to install TSX-Lite on your  computer.   The
  664.       installation  process  will  create  a directory named \TSX32SYS\ on
  665.       your disk and copy the TSX system files into it.   Furthermore,  the
  666.       file  TSX32.SYS  (literally  the computer program comprising the TSX
  667.       operating system) has been placed in the root directory.
  668.  
  669.       The program RUNTSX in the \TSX32SYS\ directory  is  used  to  "boot"
  670.       TSX  from  the  DOS  prompt.  This program reads the TSX32.SYS file,
  671.       loads  it  into  memory,  places  your  386  or  486  processor   in
  672.       "protected"  (32-bit) mode, and jumps into TSX.  From this point on,
  673.       DOS (as well as the BIOS) are completely out of the picture.
  674.  
  675.       Should you reach a point that you  want  your  PC  automatically  to
  676.       start  TSX  when it boots, you can use the STARTTSX program which is
  677.       provided with the optional TSX-Lite Utilities Kit.
  678.  
  679.       Remember that when TSX is running, DOS is no longer in  control  (it
  680.       is  not  even  in memory).  While the TSX environment is designed to
  681.       make DOS users feel at home, it is not designed  to  be  "just  like
  682.       DOS".   There  are  many  more  commands  available.   You can run a
  683.       greater variety of programs than you can under DOS.  More memory  is
  684.       available,  and  you have multi-user and multi-tasking capabilities.
  685.       However, it is also the  case  that  some  commands  work  a  little
  686.       differently  than  they  do  under DOS.  It's also true that not all
  687.       DOS programs will  run  under  TSX.   You  may  have  to  set  up  a
  688.       technique  for  correctly  routing  printed  output  or tame certain
  689.       programs  for  efficient  multi-user  operation.   See  Chapter   4,
  690.       starting  on page 28, for additional information installing, tuning,
  691.       and running DOS programs under TSX.
  692.  
  693.       When you type RUNTSX to start TSX it will initiate a procedure  that
  694.       takes  a  few  seconds  to  load  TSX  into memory and start various
  695.       "detached jobs" such as the print spooler and queue  manager.   Once
  696.       the  initialization  process  finishes your console should display a
  697.       message saying that TSX is available.   When  you  press  Enter  you
  698.       will  be  "logged  on" to the system.  An optional TSX-Lite Security
  699.       Kit is available which includes a LOGON program to  force  users  to
  700.       enter  a  user  name and password to gain access to the system.  See
  701.       REGISTER.DOC for ordering and support information.
  702.  
  703.  
  704.                                        6
  705.  
  706.       Chapter 2. Getting Started                                         7
  707.  
  708.  
  709.       Decide on a program you would like to  run  under  TSX.   Since  the
  710.       chances  are  good  that you will have to use the CD command to move
  711.       to the directory where the program is, it's  a  good  time  to  talk
  712.       about how TSX handles disks and directories.
  713.  
  714.       Under  TSX,  you  can  issue familiar commands to manage directories
  715.       like:
  716.  
  717.            C:
  718.            CD \
  719.            MD WP51
  720.            CD \WP51
  721.            CD ..
  722.  
  723.       Try a CD command now to move to the directory  where  your  favorite
  724.       program  resides.   If it's on a different disk, you can combine the
  725.       device and directory specifications in a  single  CD  command,  such
  726.       as:
  727.  
  728.            CD D:\WP51
  729.  
  730.       Another  nice  feature  of  the  TSX CD command is a construct which
  731.       means "go back to where I was before":
  732.  
  733.            CD *
  734.  
  735.  
  736.       2.2 Run Your Program
  737.  
  738.       Whatever you do  to  run  your  program  under  DOS,  do  now.   TSX
  739.       recognizes  BAT files, EXE files, and COM files just like DOS.  Your
  740.       program should run just like it does under DOS.  If it does not  let
  741.       us  make two suggestions at this point: (1) try another program, and
  742.       (2) see Chapter 13 that starts on page 80.
  743.  
  744.  
  745.       2.3 Multi-tasking and the Session Manager
  746.  
  747.       Now that you are executing your favorite  application  program,  you
  748.       may  well  be asking what the big deal about TSX is.  To begin with,
  749.       let's do a little multi-tasking.  While  your  program  is  running,
  750.       press  the "Scroll Lock" key to invoke the TSX "Session Manager".  A
  751.       menu  will  appear  in  the  upper  right  portion  of  your  screen
  752.       displaying  the  currently  active  sessions.   At  this  point only
  753.       session number 0 will be active.  Type the digit  "1"  (not  on  the
  754.       keypad,  but  on the keyboard above the letter "Q") to start session
  755.       1.  You will be greeted with a blank screen and a message that  says
  756.       something  like  "Subprocess  1,  Job  id=4".  What you have done is
  757.       switched to a different Process Window.
  758.  
  759.       Process windowing is the TSX  terminology  for  multi-tasking.   The
  760.       term  "process" (or "job", or "task") refers to a single interactive
  761.       session controlled  from  a  terminal  which  is  running  a  single
  762.       program  at  any particular time.  There are also batch and detached
  763.       processes, which are tasks that are not connected to a  terminal  at
  764.  
  765.       Chapter 2. Getting Started                                         8
  766.  
  767.  
  768.       all.   Since  TSX  allows  you to control more than one process from
  769.       each terminal, each process is associated with  a  single  "window".
  770.       Think  of  your  monitor  as being connected to a single window at a
  771.       time, looking through the window at the process  you  are  currently
  772.       controlling.
  773.  
  774.       Your  primary  window,  number  zero, is still running your program.
  775.       In window 1,  you  are  now  at  the  system  prompt.   To  convince
  776.       yourself  that  your  original  program  is  still running, type the
  777.       following command:
  778.  
  779.            SHOW SYSTEM
  780.  
  781.       This will display a list of jobs that are currently logged on.   You
  782.       should  see an entry for your current session (which will show "(1)"
  783.       after the terminal name because this is your session  1),  an  entry
  784.       for  your  original session, and entries for TSX system jobs such as
  785.       the print spooler and queue manager.
  786.  
  787.       By  way  of  demonstrating  multi-tasking,  let's  talk  about   TSX
  788.       commands  for  a  minute,  taking  DIR  as  an  example.   Issue the
  789.       command:
  790.  
  791.            DIR
  792.  
  793.       You will see a  listing  of  the  files  in  the  directory  with  a
  794.       familiar,  but enhanced, format.  TSX has more commands than you are
  795.       used to, and the commands have many more features.  Take DIR  as  an
  796.       example.   It's  often  nice  to  see  what files in a directory are
  797.       using up all the disk space.  Try the command:
  798.  
  799.            DIR/SORT=SIZE/REVERSE
  800.  
  801.       This requests a listing of files sorted by  size  in  reverse  order
  802.       (listing  the  biggest  ones  first).   So  just  what  commands are
  803.       available?  Try the command:
  804.  
  805.            HELP
  806.  
  807.       You are presented with a menu from which you can  select  DIRECTORY.
  808.       This  brings  up a brief description of directory and tells you that
  809.       you can press the F1 key for a  list  of  subtopics.   Try  it:  the
  810.       pop-up  menu  shows a list of all the qualifiers (options) legal for
  811.       the directory command.  Qualifiers are phrases used to  qualify,  or
  812.       modify,  the normal meaning of a command such as DIR.  You just used
  813.       two of them: /SORT and /REVERSE.
  814.  
  815.       Now what about the program you started in session 0?   Press  Scroll
  816.       Lock  and  the  Session  Manager  will display a list of your active
  817.       sessions.  This time the list will show that  you  have  two  active
  818.       sessions:  0 and 1.  You could type a digit in the range 2 through 8
  819.       to start another session.  Type "0" to  select  session  0  and  the
  820.       console  will  disconnect  from  session  1  and  reconnect  to  the
  821.       original  session  that  is  running  the  application  you  started
  822.       earlier.
  823.  
  824.       Chapter 2. Getting Started                                         9
  825.  
  826.  
  827.       The   ability  to  flip  between  simultaneous  sessions  is  called
  828.       multi-tasking.  You can control up to 10 simultaneous tasks  from  a
  829.       single  terminal  (the  Session  Manager runs as session number 9 so
  830.       you have 0 through 8 available for  your  own  use).   Multi-tasking
  831.       allows  you to interrupt one task, work on another for a while, then
  832.       return to the first one right where you left off.  You can  look  up
  833.       a  fact,  make a note to your self, or schedule an appointment, then
  834.       resume work without having to exit  the  software  you  were  using.
  835.       Multi-tasking  also  lets  you  get  the  computing  going on a long
  836.       running job, (say a query of a large database), then continue  doing
  837.       something  else  (such  as word processing) while the computer works
  838.       on the first.
  839.  
  840.       The multi-tasking feature  of  TSX-Lite  is  somewhat  like  running
  841.       DESQView.   You  can use TSX to simultaneously run several copies of
  842.       bulletin board  software  such  as  Wildcat  or  Spitfire  to  allow
  843.       multi-line  connections.  And, Microsoft Windows 3.1 can be run as a
  844.       task under TSX (see the WIN command on page 163).
  845.  
  846.       In addition to using  the  Session  Manager,  you  can  also  switch
  847.       between  sessions  by  typing ALT-digit where 'digit' is the session
  848.       number or by typing Ctrl-W-digit (hold down Ctrl, press  W,  release
  849.       Ctrl,  press a digit to select the session).  However, these methods
  850.       do not work with some programs that take over  keyboard  interrupts.
  851.       On  serial  terminals  that do not have Scroll Lock or ALT keys, you
  852.       should type Ctrl-W-digit to select sessions.
  853.  
  854.       Now that you have gotten started with TSX-Lite you may want  to  try
  855.       a  few  of  the  following commands to get a feeling for the system:
  856.       "TSXSHELL" (see Chapter 6, starting on page 42),  "HELP",  "SYSMON",
  857.       "FMAN",  "SHOW SYSTEM", "SHOW USE", "SHOW TERMINALS", "SHOW MEMORY",
  858.       "SHOW PAGING", "SHOW CACHE", "SHOW  FILES",  "SHOW  FSTATUS",  "SHOW
  859.       ERRORS".
  860.  
  861.  
  862.       2.4 The TSGEN Program
  863.  
  864.       A  program  named  TSGEN  is  used to configure TSX for a particular
  865.       hardware configuration.  There are two files  that  are  manipulated
  866.       by  TSGEN:  the  TSX-Lite kernel, C:\TSX32.SYS, and TSX32.GEN in the
  867.       TSX system directory (normally TSX32SYS).   TSX32.GEN  is  an  ASCII
  868.       file  that  can  be  edited by any ASCII editor such as the DOS EDIT
  869.       program.  TSGEN has two modes of operation: batch  and  interactive.
  870.       You  start  TSGEN  in interactive mode by simply typing "TSGEN".  In
  871.       this mode the first screen will ask you for the name of your  system
  872.       generation  parameter  file.   Just press Enter to select TSX32.GEN.
  873.       Next it will present a menu with the  following  choices:  (1)  "Set
  874.       Tuning  Parameters";  (2)  "Manage  Equipment List"; (3) "Exit"; and
  875.       (4) "Reports".  You can use the arrow keys to select  one  of  these
  876.       items  and  press  Enter,  or  you  can  type the highlighted letter
  877.       within an item to select it.
  878.  
  879.       If you select "Set Tuning Parameters" you will be presented  with  a
  880.       multi-screen  menu  listing each category of tuning parameter (there
  881.       are many).  The first entry "All parameters" can be selected to  see
  882.  
  883.       Chapter 2. Getting Started                                        10
  884.  
  885.  
  886.       an  alphabetical  list  of all parameters.  TSGEN has extensive help
  887.       built into it and you can select a parameter and  press  F1  to  get
  888.       information  about  what  the  parameter  does.   Be  cautious about
  889.       changing parameters that you do not fully understand.   See  Section
  890.       12.4  on  page  77  for information about some of the most important
  891.       tuning parameters.
  892.  
  893.       If you select "Manage Equipment List" you will be presented  with  a
  894.       list  of  the  devices  installed in your computer that TSX is aware
  895.       of.  Only the device type and controller letter for each  device  is
  896.       displayed.   The  unit  numbers  for multi-unit devices are shown on
  897.       menus that are selected by typing 'U'.  To modify parameters  for  a
  898.       particular  device  unit  (for  example  a  COM port), highlight the
  899.       desired device (TTA is the console, TTB is COM1  and  TTC  is  COM2)
  900.       and  type 'U'.  A menu will appear showing each unit associated with
  901.       the device (most commonly there will be only one  unit).   Highlight
  902.       the  desired  unit and type 'U' again and you will be presented with
  903.       the first page of a multi-page  screen  entry  form  that  has  each
  904.       available  parameter  for the unit.  Move the cursor to any item and
  905.       press F1 for help.
  906.  
  907.       Once you finish making changes to tuning  parameters  and/or  device
  908.       unit  information,  type Esc repeatedly to exit from TSGEN.  When it
  909.       exits, TSGEN applies the changes  you  have  made  to  the  TSX-Lite
  910.       kernel  file  (TSX32.SYS)  and  updates  the ASCII system generation
  911.       commands that are stored in TSX32.GEN.  The changes take effect  the
  912.       next time you reboot TSX.
  913.  
  914.       In  the "batch" mode of operation, TSGEN reads the system generation
  915.       parameter  file  (normally  TSX32.GEN)  and  applies  the   commands
  916.       specified  into  it  to the kernel file (TSX32.SYS).  The batch mode
  917.       would be used if  you  edited  TSX32.GEN  using  a  separate  editor
  918.       rather  than using TSGEN in interactive mode.  To run TSGEN in batch
  919.       mode specify the name of the parameter file as  the  only  argument.
  920.       For   example,   the  following  command  applies  the  commands  in
  921.       TSX32.GEN to the kernel:
  922.  
  923.            TSGEN TSX32
  924.  
  925.       There are three  versions  of  TSGEN  provided  with  your  TSX-Lite
  926.       distribution:  TSGEN.EXP, TSGEN.EXE, and MINIGEN.EXE.  The TSGEN.EXP
  927.       file is the 32-bit version of TSGEN that runs  under  TSX-Lite.   It
  928.       is  the  full  featured version of TSGEN and provides both batch and
  929.       interactive modes.  The TSGEN.EXE and MINIGEN.EXE files can be  used
  930.       under  DOS  (when TSX is not running).  TSGEN.EXE provides a limited
  931.       version of interactive mode with only  the  ability  to  change  the
  932.       tuning   parameters   (you   cannot   manage  the  equipment  list).
  933.       MINIGEN.EXE operates  only  in  batch  mode.   It  can  be  used  in
  934.       situations  where  the  DOS  system  does not have enough low memory
  935.       available to run TSGEN.EXE.  It  is  best  to  use  TSGEN.EXP  while
  936.       running  under  TSX-Lite  because  this  version  has  all  features
  937.       available and can use as much memory space as necessary.
  938.  
  939.       Chapter 2. Getting Started                                        11
  940.  
  941.  
  942.       2.5 Setting Up Multi-Tasking Applications
  943.  
  944.       As you have just learned,  TSX-Lite  allows  you  to  have  multiple
  945.       programs  running  in  separate sessions.  For most applications you
  946.       simply can type Scroll Lock to  call  up  the  session  manager  and
  947.       switch  between  your  sessions.  However, when a 16-bit DOS program
  948.       is executing TSX normally suspends  the  execution  of  the  program
  949.       when  you  switch  away from it and select a different session.  The
  950.       state of a suspended program is  shown  as  "SPND"  by  the  session
  951.       manager  and  the SHOW JOBS command.  The reason that these programs
  952.       are suspended is explained in Section 4.2.
  953.  
  954.       In some cases it is important  that  programs  continue  to  execute
  955.       even  when your terminal is not connected to their sessions.  A good
  956.       example of this is a bulletin board system which is to run as a  TSX
  957.       session  while  you  perform  other operations on the same computer.
  958.       Another case would be  a  communications  program  such  as  Procomm
  959.       which  you  might  wish to switch away from while it is performing a
  960.       large file transfer,  and  have  the  transfer  continue  while  you
  961.       perform  other  work.   TSX  fully  supports concurrent execution of
  962.       multiple sessions but you must use the PMAN program to  set  certain
  963.       attributes for the programs to cause this to happen.
  964.  
  965.       To  enable  concurrent execution of a program type PMAN to start the
  966.       TSX program manager.  It  will  display  a  list  of  the  currently
  967.       "installed"  programs (i.e., those for which special attributes have
  968.       already been set), and a box  showing  "Action  Keys"  that  can  be
  969.       pressed  to perform operations.  TSX-Lite comes configured with some
  970.       popular DOS programs already set up  in  PMAN.   You  should  review
  971.       this  list  of  programs  and  make  sure  the  disk  and  directory
  972.       specifications  correspond  to  where   you   have   your   programs
  973.       installed.
  974.  
  975.       Press  "A"  to  add a new program entry.  You will be presented with
  976.       page 1 of a 5 page information screen set.   Fortunately,  you  will
  977.       need  to  only set a few of the values.  Press F1 at any time to get
  978.       help about a particular PMAN item.
  979.  
  980.       Enter the full  program  specification  on  the  first  line.   This
  981.       should  include  the device name, directory, file name and extension
  982.       (EXE or COM).  If there is a "starter" program  that  you  initially
  983.       run  which  loads  some other program or overlay, you should specify
  984.       the name of the starter program -- attributes are set  up  when  TSX
  985.       begins running a program and apply to any child program or overlay.
  986.  
  987.       After  entering the program name, press Page Down to move to page 2.
  988.       Press down arrow to move to the "HOLDPRIO" entry.  If you  set  this
  989.       item  to  "Y" (yes) the program will execute at the same priority as
  990.       the session that you are currently attached to.  This would  be  the
  991.       appropriate  setting  for a program such as a bulletin board that is
  992.       to continue executing at full speed even when it is not the  current
  993.       session.   If you set the item to "N" (no) the program will continue
  994.       to execute when it is not running as the  current  session  but  its
  995.       execution  priority  will  be  reduced to the value specified by the
  996.       PRIVIR  sysgen   parameter.    This   would   be   appropriate   for
  997.  
  998.       Chapter 2. Getting Started                                        12
  999.  
  1000.  
  1001.       "background"  tasks  such  as  compute  intensive  programs,  spread
  1002.       sheets, etc.   You  can  use  TSGEN  to  change  the  PRIVIR  sysgen
  1003.       parameter;  its  default value is 20 whereas the default priority of
  1004.       the currently active session is controlled by the  PRIDEF  parameter
  1005.       whose default value is 50.
  1006.  
  1007.       Now  use  down arrow to move to the item labeled "NODWRITE" (be sure
  1008.       you select the "NODWRITE" item and  not  "DWRITE").   You  must  set
  1009.       NODWRITE  to  "Y"  to enable continued execution when the program is
  1010.       not the current session.  This causes TSX to "virtualize" access  to
  1011.       the  video memory area so that the program is not directly accessing
  1012.       the hardware controller while it is running.  This option will  work
  1013.       with  programs  that  perform  character  type displays (most spread
  1014.       sheets, data base programs, etc.) but will NOT  work  with  programs
  1015.       that  do  graphic  displays  such  as  Windows,  games,  etc.  These
  1016.       graphical programs must have direct access to the  video  controller
  1017.       and  must  be  suspended  when  they  are not running in the current
  1018.       session.  If you prefer to have NODWRITE be the default setting  for
  1019.       all  programs,  you  can use TSGEN to set the DEFDWRITE parameter to
  1020.       0.  You can  then  use  PMAN  to  selectively  turn  on  the  DWRITE
  1021.       parameter for programs that are going to do graphical displays.
  1022.  
  1023.       A  few  more  entries  down  is  an item labeled "IDLETIME".  If you
  1024.       provide a non-zero value this is  the  number  of  hundredths  of  a
  1025.       second  of  CPU  time that a program may loop without performing any
  1026.       other operations before TSX will consider it to be "idle"  and  give
  1027.       it  a  lower priority.  For example, if you specify a value of 30000
  1028.       then if the  program  runs  for  300  seconds  (5  minutes)  without
  1029.       performing  any  operations  such as I/O or communications, TSX will
  1030.       consider it to be "idle" and give it  a  lower  execution  priority.
  1031.       The  priority  will  be increased and the timer reset if the program
  1032.       performs any I/O operations (including accessing COM ports).
  1033.  
  1034.       If you have a program that is designed for multi-user  operation  in
  1035.       a  network  environment,  you  should  go back to page 1 and set the
  1036.       "DOSNET" item to "Y".  This causes TSX to tell the program that  all
  1037.       of  its disks are remote network disks.  Some programs use this as a
  1038.       signal to perform network record locking which TSX fully supports.
  1039.  
  1040.       After you set the appropriate options for the program press  ESC  to
  1041.       exit  from  the  PMAN  program  screens  back to the initial screen.
  1042.       Press ESC again to exit from PMAN.  Once you  exit  from  PMAN,  TSX
  1043.       will  be  aware  of  the attributes you have set for the program and
  1044.       they will take effect the next  time  the  program  starts  running.
  1045.       The  attribute values are stored in a file called INSTALL.CMD in the
  1046.       TSX system directory and are loaded automatically each time  TSX  is
  1047.       started.   You  can  use  PMAN  at any time to change or add program
  1048.       attributes.  See Section 4.6, starting on page  31,  for  additional
  1049.       information about installing and tuning DOS programs.
  1050.  
  1051.       2.5.1 Setting up Wildcat for TSX-Lite
  1052.  
  1053.       In  order  to  run  Wildcat  version  3x under TSX-Lite follow these
  1054.       steps:
  1055.  
  1056.       Chapter 2. Getting Started                                        13
  1057.  
  1058.  
  1059.       1.  Install  Wildcat  under  DOS  using  the  WINSTALL  and  WCMODEM
  1060.           programs  that  are  provided  with  Wildcat.   Using  MAKEWILD,
  1061.           select the "DOS Share" option for the Network type and  set  the
  1062.           COM UART FIFO trigger level to 14.
  1063.  
  1064.       2.  Start  TSX-Lite  and use the PMAN command to create an entry for
  1065.           WILDCAT.EXE.  Be sure to provide the entire  file  specification
  1066.           including  the  device,  directory  and  extension.  In the PMAN
  1067.           parameter menus set the following items to 'Y' (yes):  HOLDPRIO,
  1068.           NODWRITE, and TTWAIT.
  1069.  
  1070.       3.  To  set  up you serial port characteristics run TSGEN and select
  1071.           "Manage equipment list".  Highlight the  serial  (TTx)  line  to
  1072.           which  your  modem  is attached and press 'U' to select the unit
  1073.           menu.  From the unit menu press the 'U' key again to modify  the
  1074.           unit's  settings.   In the qualifiers listing select the correct
  1075.           speed, enable  the  phone  qualifier,  and  select  the  correct
  1076.           handshaking  required for your modem.  See Section 2.6.3 on page
  1077.           17 for additional information about setting up phone lines.
  1078.  
  1079.       Because of the virtual UART emulation performed by TSX  the  maximum
  1080.       communications  speed  may  be slower than it is under DOS.  The use
  1081.       of actual 16550 type buffered controllers reduces the  overhead  and
  1082.       improves  throughput.   See  Section  4.9  on page 34 for additional
  1083.       information about UART emulation.
  1084.  
  1085.  
  1086.       2.6 Setting up COM Ports
  1087.  
  1088.       TSX-Lite supports  access  to  the  system  from  both  the  console
  1089.       terminal   and   serial   COM  ports.   TSX-Lite  is  restricted  to
  1090.       supporting a maximum of two simultaneous users, but  more  than  two
  1091.       COM  ports  can  be  in  use  simultaneously  as  I/O  devices.  For
  1092.       example, if you log onto the console and run Procomm which uses  COM
  1093.       port  1  to  access  your  modem,  another user could log on through
  1094.       another COM port.  This is permissible because there  are  only  two
  1095.       logged  on  users  -- one at the console and one through a COM port.
  1096.       Using a COM port as an I/O device does not  count  as  a  logged  on
  1097.       user  so  you  could  run  a  BBS system that took over multiple COM
  1098.       ports as  I/O  devices  and  still  have  two  users  log  on.   The
  1099.       distinction  is  that a logged on user can type and execute TSX-Lite
  1100.       commands whereas I/O device connections  interact  with  application
  1101.       programs.
  1102.  
  1103.       Note:  it  is  highly  recommended that you obtain COM port adapters
  1104.       that use the 16550 buffering type  UART  chips.   The  16550  UART's
  1105.       provide  16  characters  of  buffering  in  the hardware and greatly
  1106.       reduce the risk of losing characters during file transfers.
  1107.  
  1108.       2.6.1 Hardware Connections
  1109.  
  1110.       You can connect to COM  ports  through  both  hard-wired  lines  and
  1111.       modems.   If  you  use  a  hard-wired line connection you must use a
  1112.       "null modem" device to reverse the transmit and receive  signals  in
  1113.       the  wire,  or  you  can  build your own cable with the transmit and
  1114.  
  1115.       Chapter 2. Getting Started                                        14
  1116.  
  1117.  
  1118.       receive data lines interchanged between the ends.  If you wire  your
  1119.       own cable you must connect the following pins on each end:
  1120.  
  1121.              -- 25 pin connector --     -- 9 pin connector --
  1122.                2  Transmit data           3  Transmit data
  1123.                3  Receive data            2  Receive data
  1124.                7  Signal ground           5  Signal ground
  1125.  
  1126.       If  you  use  a  modem you should connect it to the computer using a
  1127.       "straight through" connection that includes the lines for RTS,  CTS,
  1128.       DTR, DSR, Carrier detect, and Ring.
  1129.  
  1130.       2.6.2 Line Setup Options
  1131.  
  1132.       When  you  install  TSX-Lite  it checks for the presence of the COM1
  1133.       and COM2 serial ports.  If they  exist  it  defines  TSX  I/O  units
  1134.       named  TTB0 and TTC0.  TTB0 is the TSX name for COM1 and TTC0 is the
  1135.       TSX name for COM2.  Try using the  SHOW  TERMINALS  command  to  see
  1136.       that  these  device names exist.  See Section 5.3, beginning on page
  1137.       39, for additional information about TSX device names.
  1138.  
  1139.       These serial units may be used as I/O devices by  programs  such  as
  1140.       Procomm  without  any  further  changes.   However,  if  you want to
  1141.       accept incoming connections and calls  from  users  wishing  to  log
  1142.       onto  TSX-Lite  you  may  need  to use the TSGEN program to set some
  1143.       parameters for the lines (such as the PHONE attribute).
  1144.  
  1145.       By default, the serial lines are set up to  connect  to  hard-wired,
  1146.       ANSI  VT-100  type  terminals  running at 9600 baud.  If you wish to
  1147.       connect a different type of terminal (such as a  PC-Term  terminal),
  1148.       or  you  want  to  have  a  different baud rate, or you wish to have
  1149.       dial-in modem support, you need to  use  TSGEN  to  alter  the  line
  1150.       definitions.   Note:  terminal  parameters can also be set using the
  1151.       SET TERMINAL command, but you will have to repeat the  commands  (or
  1152.       put  them  in a start-up command file) if you want them to remain in
  1153.       effect after TSX-Lite is restarted.  See Section 14.87 on  page  145
  1154.       for  information about the SET TERMINAL command.  See Section 3.1 on
  1155.       page 23 for additional information about terminal types.
  1156.  
  1157.       To permanently change a line parameter, start TSX-Lite and log  onto
  1158.       the  console  terminal.   Then  type "CD \TSX32SYS" to change to the
  1159.       system directory  and  type  TSGEN  to  start  the  TSX-Lite  system
  1160.       generation  program.   Press  Enter  when TSGEN asks for the name of
  1161.       the GEN file and the Main Menu  will  be  displayed.   Type  'M'  to
  1162.       select  Manage  Equipment List.  Use the arrow keys to highlight the
  1163.       line for device "TTB" (COM1)  or  "TTC"  (COM2)  and  press  'U'  to
  1164.       select  the  unit  menu.   The  unit  menu should show a single unit
  1165.       numbered 0.  Type 'U' again to set unit  parameters.   You  will  be
  1166.       presented  with  the first of five screens of parameters that can be
  1167.       set for the unit.  Use the arrow  and  Page  Up/Down  keys  to  move
  1168.       through  the list.  You can select any item and press F1 to get help
  1169.       information for that item.  The following items are  the  ones  that
  1170.       most frequently need to be changed:
  1171.  
  1172.       Chapter 2. Getting Started                                        15
  1173.  
  1174.  
  1175.       SPEED  --  Press  Enter  and  a  list  of  available  baud  rates is
  1176.           displayed.  Highlight the speed you desire and  press  Enter  to
  1177.           select  it.   If  you are using a "smart" modem that has a fixed
  1178.           rate of communication to the computer, you should set that  rate
  1179.           as the default speed.
  1180.  
  1181.       AUTOBAUD  --  If  you  are  using  a  hard-wired connection set this
  1182.           parameter to 'N'.  The SPEED parameter  will  control  the  baud
  1183.           rate.   If  a  modem  is connected to the line it is best to set
  1184.           the modem to communicate with the computer at a fixed  rate  and
  1185.           set  this  parameter  to  'N'.  However, if you have the type of
  1186.           modem that communicates with the computer at the  same  rate  as
  1187.           the  connection with the remote machine then you should set this
  1188.           parameter to 'Y'.
  1189.  
  1190.       PARITY -- The standard setting for TSX is 8-bits, no parity.   Press
  1191.           Enter  and  you will be presented with a choice of even, odd, or
  1192.           no parity.
  1193.  
  1194.       PHONE -- Set this item to 'Y' if this line is connected to  a  modem
  1195.           and  you  wish  to support dial-in logons.  See Section 2.6.3 on
  1196.           page 17  for  additional  information  about  setting  up  phone
  1197.           lines.
  1198.  
  1199.       START  --  Set  this  item to 'Y' if you would like to have the line
  1200.           automatically log on each time TSX-Lite is started  rather  than
  1201.           waiting for Enter to be pressed.
  1202.  
  1203.       SYSPASSWORD  --  If you set this field to 'Y' users will be prompted
  1204.           with the string specified  by  the  SYSPASSPR  sysgen  parameter
  1205.           (default  is  '!')  and  they  must enter a password string that
  1206.           matches that specified by the SYSPASSWORD sysgen parameter.   An
  1207.           optional  TSX-Lite  Security  Kit  is available which includes a
  1208.           LOGON program to force users to enter a user name  and  password
  1209.           to  gain  access  to  the system.  See REGISTER.DOC for ordering
  1210.           information.  See  Section  2.6.4  on  page  18  for  additional
  1211.           information about setting up the system password.
  1212.  
  1213.       LOGON  --  If  this  unit is being used only as an I/O device (e.g.,
  1214.           serial mouse, modem for dial-out calls, etc.) set this field  to
  1215.           'N' to prevent users from logging onto the line.
  1216.  
  1217.       CMDFILE  --  You  may  specify  the device, directory, and name of a
  1218.           command file to be executed each time this line  logs  on.   The
  1219.           default start-up command file is \TSX32SYS\START.CMD.
  1220.  
  1221.       TERMTYPE  --  Press  Enter  and you will be presented with a list of
  1222.           terminal types.  Highlight the desired terminal type  and  press
  1223.           Enter  to  select it.  Here is a summary of some of the terminal
  1224.           types:
  1225.  
  1226.           ANSI -- Terminals or terminal emulator programs that handle  the
  1227.               basic ANSI control sequences.
  1228.  
  1229.       Chapter 2. Getting Started                                        16
  1230.  
  1231.  
  1232.           VT100  --  Digital  Equipment Corporation (DEC) VT-100 terminal.
  1233.               Many  terminal  emulator  programs  provide  VT-100  as   an
  1234.               option.   This  is  the  default  TSX terminal type.  If you
  1235.               select this terminal type and "trash" characters  appear  on
  1236.               the  screen  after typing the CLS command or after a session
  1237.               window switch, you should select ANSI mode.
  1238.  
  1239.           PCTERM -- Serial PC-Term Terminals.  These are serial  terminals
  1240.               that  have  IBM compatible keyboards and transmit make/break
  1241.               keyboard codes like the console keyboard.  They can  display
  1242.               25 lines and support the IBM display character set.
  1243.  
  1244.           TSXTERM  --  Terminal  Emulator.   The TSXTERM terminal emulator
  1245.               program, which is provided with TSX-Lite, can be  run  on  a
  1246.               remote  computer  that  is connected to your TSX-Lite system
  1247.               via either a hardwired serial connection or a  modem.   This
  1248.               is  the  best  type  of  TSX  workstation.   See Chapter 11,
  1249.               starting  on  page  70,  for  additional  information  about
  1250.               TSXTERM.
  1251.  
  1252.           If  you  are  configuring  a  line  for dial-in connections from
  1253.           TSXTERM stations, it is best to set  up  the  line  as  an  ANSI
  1254.           terminal  (use  TSGEN  and  set  the  terminal  type  to ANSI or
  1255.           VT100).  Then when you log into the  TSX  system  using  TSXTERM
  1256.           you  will  initially  be  in ANSI mode.  Once the logon has been
  1257.           established, issue the following  TSX  command  to  switch  into
  1258.           TSXTERM  mode:  "SET  TERMINAL/TYPE=TSXTERM".   If you are using
  1259.           the LOGON program which is part of the  TSX-Lite  Security  Kit,
  1260.           TSXTERM  will  shift  into TSXTERM mode automatically as part of
  1261.           the  logon  process.   If  you  are  setting  up  a   dedicated,
  1262.           hard-wired  TSXTERM  connection,  choose  TSXTERM as the default
  1263.           terminal type.  See Chapter 11, starting on page  70,  for  more
  1264.           information about installing and using TSXTERM.
  1265.  
  1266.       HANDSHAKING  --  Select  XONXON  if  XON  (control-Q,  DC1) and XOFF
  1267.           (control-S, DC3) characters are used for software flow  control.
  1268.           Select  RTSCTS  for  the  popular  RTS/CTS hardware flow control
  1269.           protocol.
  1270.  
  1271.       PRINTER -- Set this item to 'Y' if you have a printer  connected  to
  1272.           the auxiliary printer port that is available on some terminals.
  1273.  
  1274.       MRESET  --  You  may  specify a modem reset string to be sent to the
  1275.           line whenever a user logs off or a program releases  control  of
  1276.           the  line.   To  enter  control characters in the string specify
  1277.           the caret character ('^') in front of the letter.  For  example,
  1278.           "^M" means control-M which is carriage return.
  1279.  
  1280.       Press  ESC  to exit from the unit parameter screens after you change
  1281.       the desired settings.  Press ESC  three  more  times  to  exit  from
  1282.       TSGEN.   The  parameter settings are written to the TSX32.SYS kernel
  1283.       file and are recorded in the TSX32.GEN system  generation  parameter
  1284.       file.   You  must  reboot your computer and restart TSX-Lite to make
  1285.       them take effect.
  1286.  
  1287.       Chapter 2. Getting Started                                        17
  1288.  
  1289.  
  1290.       Once you have set up your COM lines you can use the  SHOW  TERMINALS
  1291.       command  to  display  summary  information  about all of your lines.
  1292.       For detailed information use the command "SHOW TTcuu" where  "TTcuu"
  1293.       is  a  terminal  device name such as TTA0 or TTB0.  The TMAN command
  1294.       can also be used to display terminal information.
  1295.  
  1296.       2.6.3 Setting up Phone lines
  1297.  
  1298.       The COM ports can be used for modems connected  to  phone  lines  as
  1299.       easily  as  they  can  be  used for terminals; to TSX, they are both
  1300.       simply time sharing lines.  We have been told that  this  equivalent
  1301.       treatment  of  phone  lines  and  hardwired  lines  makes  TSX modem
  1302.       support the best in the industry.  Specify the PHONE  attribute  for
  1303.       a  serial  unit  when you generate the TSX system (see Section 2.6.2
  1304.       on page 14) or issue a command like
  1305.  
  1306.            SET TTB0:/PERM/PHONE
  1307.  
  1308.       This tells TSX that a modem is connected  to  the  port.   TSX  will
  1309.       ignore  input  on  a  phone  line unless carrier is asserted.  Also,
  1310.       when a job logs off of a phone line TSX will drop DTR for  a  period
  1311.       of  time  to force the modem to hang up the phone.  See Section 2.6,
  1312.       starting on page 13, for additional  information  about  setting  up
  1313.       COM ports.
  1314.  
  1315.       For  proper  support,  a modem must be connected to TSX with a cable
  1316.       that has modem control signals such as  Carrier  Detect,  Ring,  and
  1317.       DTR  wired  through.   Also, the modem must be set up to only assert
  1318.       Carrier Detect when a connection is in effect, and it should be  set
  1319.       up so that it hangs up when DTR is dropped.
  1320.  
  1321.       Most  modern  modems  allow you to select a fixed communication rate
  1322.       between the modem and the computer so that the modem  converts  from
  1323.       the  actual baud rate used by the remote computer.  If possible, you
  1324.       should select this mode of operation for use with TSX.  However,  if
  1325.       you  have  a  modem that switches its baud rate to match that of the
  1326.       communications  connection,  then  you  should  set   the   AUTOBAUD
  1327.       parameter for the line to 'Y'.
  1328.  
  1329.       Most  modems come initially configured to not answer incoming calls.
  1330.       To enable Hayes compatible modems to answer incoming calls you  need
  1331.       to  set  the  modem "S0" register to a value other than 0 (the value
  1332.       you specify is the ring  number  to  answer  on  --  0  means  never
  1333.       answer).   To  set  this  "S0"  register  value  you  should  use  a
  1334.       communications  program  such  as  Procomm  (or  the  TSX  SET  HOST
  1335.       command)  to  talk  to  the modem.  You can then issue the following
  1336.       modem command to set S0 to  1:  "ATS0=1".   However,  this  type  of
  1337.       setting  only  remains in effect until the modem is powered off.  To
  1338.       make  the  setting   permanent,   issue   the   following   command:
  1339.       "ATS0=1&W".   This  stores  the value in the non-volatile RAM memory
  1340.       in the modem.
  1341.  
  1342.       If you are  having  problems  getting  a  phone  line  working,  see
  1343.       Section 2.6.5 for debugging tips.
  1344.  
  1345.       Chapter 2. Getting Started                                        18
  1346.  
  1347.  
  1348.       2.6.4 Setting Up Password Protection
  1349.  
  1350.       If  you  set  up a dial-in, phone line for access to your TSX system
  1351.       you must immediately consider the issue of system  security.   Since
  1352.       a  dial-in user can potentially run any program, or access any file,
  1353.       limiting access to authorized users is vitally important.   TSX-Lite
  1354.       comes  with  a  simple  "system password" facility that will provide
  1355.       basic access protection.  A more sophisticated  security  system  is
  1356.       available as part of the TSX-Lite Security Kit.
  1357.  
  1358.       The  basic  system password facility is a standard part of TSX-Lite.
  1359.       Using it you can define a password of up to 31 characters in  length
  1360.       that  a user must enter to gain access to the system.  There are two
  1361.       steps to setting up a system password:  (1)  defining  the  password
  1362.       itself,  and  (2)  specifying  which  lines  are to require password
  1363.       entry to access the system.
  1364.  
  1365.       To define the system password follow these steps:
  1366.  
  1367.       1.  Start  TSX-Lite,  switch  to  the  system   directory   (usually
  1368.           \TSX32SYS), and run the TSGEN program.
  1369.  
  1370.       2.  Press  Enter  or type in the name of your 'gen' file in response
  1371.           to the TSGEN prompt.
  1372.  
  1373.       3.  Select "Set Tuning Parameters".
  1374.  
  1375.       4.  Select "All parameters" (the first item on the list).
  1376.  
  1377.       5.  Type 'S' to position to the first parameter  whose  name  begins
  1378.           with  S.   Then  use Page down and the arrow keys to position to
  1379.           the SYSPASSWORD item and press Enter to select it.
  1380.  
  1381.       6.  Enter the string that you wish to use as your system password.
  1382.  
  1383.       7.  Press Esc 4 times to exit from TSGEN.
  1384.  
  1385.       By default, TSX prompts for the system password by  displaying  only
  1386.       an  exclamation  point.  This is done to avoid revealing information
  1387.       about the nature of the system  before  the  user  has  entered  the
  1388.       password.   If  you  would  like  to  have  a more friendly greeting
  1389.       message, use  TSGEN  to  set  the  value  of  the  SYSPASSPR  sysgen
  1390.       parameter  to  whatever  greeting string you choose; it may be up to
  1391.       31 characters long.
  1392.  
  1393.       You must also tell TSX which lines are to require entry of a  system
  1394.       password  for  access.   Typically,  password  protection is set for
  1395.       dial-in lines but not the console or hard-wired terminal lines.   To
  1396.       require  system password entry, follow the steps in Section 2.6.2 on
  1397.       page 14 and set the SYSPASSWORD parameter for each dial-up  line  to
  1398.       'Y'.   Remember  to  reboot  TSX-Lite  after making these changes to
  1399.       have them take effect.  Also, be sure to test that the  password  is
  1400.       working correctly.
  1401.  
  1402.       Chapter 2. Getting Started                                        19
  1403.  
  1404.  
  1405.       The  system  password  facility  provides basic system security.  If
  1406.       you plan to have multiple users accessing your  system,  or  even  a
  1407.       single  user  to  whom you do not wish to give unlimited access, you
  1408.       need the TSX-Lite Security Kit.  The  Security  Kit  provides  three
  1409.       utility  programs: TSAUTH, LOGON, and FPROTECT.  TSAUTH is a program
  1410.       you, the system manager, use to authorize  users  for  access.   You
  1411.       assign  a  user  name,  password,  account  number,  privileges, and
  1412.       define a start-up command file to be executed  when  the  user  logs
  1413.       on.   You  can  set  up many user names, each with a unique password
  1414.       and set of privileges.  The LOGON program  can  be  set  to  run  on
  1415.       specific  lines.   It prompts the user for a user name and password,
  1416.       checks the authorization file, and, if the user  is  authorized  for
  1417.       access,  sets up the appropriate privileges and other attributes for
  1418.       the user.  The FPROTECT program is used in conjunction with FMAN  to
  1419.       set  up  file  access controls.  For each user you can control which
  1420.       files may be  accessed.   Users  can  be  granted  write,  read,  or
  1421.       execute-only    access    to    files    on    a   device-by-device,
  1422.       directory-by-directory, or file-by-file basis.
  1423.  
  1424.       2.6.5 Monitoring Serial Lines
  1425.  
  1426.       If you have problems getting a COM line working try  the  TSX  "SPY"
  1427.       command.   The  Spy  facility  is  like a "data scope" that lets you
  1428.       monitor characters sent to or received from a  communications  port.
  1429.       It  will  also  display  modem status line changes.  To use SPY, log
  1430.       onto the console terminal (or any other terminal than  the  one  you
  1431.       wish   to   monitor)  and  then  issue  the  SPY  command  to  begin
  1432.       monitoring.  Type any character to terminate the SPY operation  when
  1433.       you  are finished.  For example, the following command line monitors
  1434.       both input and output to serial line  TTB0  which  is  normally  the
  1435.       COM1 port.
  1436.  
  1437.            SPY/INPUT/OUTPUT/HEX/BINARY/PHONE TTB0:
  1438.  
  1439.       If  you don't see any characters coming in, check your modem and the
  1440.       cable from the modem to the COM port (or the null modem  cable  from
  1441.       a  hardwired  serial  terminal).  If you see "trash" characters such
  1442.       as "FF" and "00" coming in, check the baud  rate  setting  specified
  1443.       when  you generated the line (the current speed setting is displayed
  1444.       when you start SPY).  If the modem is not answering incoming  calls,
  1445.       see  Section  2.6.3  on  page  17  for information about setting the
  1446.       modem "S0" register.  If TSX is not hanging  up  the  phone  when  a
  1447.       user  logs  off  you  probably  have not used TSGEN to set the PHONE
  1448.       attribute for the line or the modem is asserting the Carrier  Detect
  1449.       signal  even  when carrier is not present.  Also, check to make sure
  1450.       that the modem is set up properly so that it will hang up  when  DTR
  1451.       is dropped.
  1452.  
  1453.       See  Section 14.121 on page 158 for additional information about the
  1454.       SPY command.
  1455.  
  1456.       Another way to check  for  serial  line  errors  is  to  type  "SHOW
  1457.       ERRORS"  and  see  if  there are any errors in the SERIAL error log.
  1458.       If so, type "EVENT SERIAL" to display the error records.
  1459.  
  1460.       Chapter 2. Getting Started                                        20
  1461.  
  1462.  
  1463.       2.6.6 Setting up COM3 and COM4
  1464.  
  1465.       The installation of TSX-Lite will detect automatically the  presence
  1466.       of  the  COM1  and  COM2  ports  and  define  them  as valid TSX I/O
  1467.       devices.  If  you  have  COM3  and  COM4  ports  installed  in  your
  1468.       computer  you  must  use  the  TSGEN  program to inform TSX of their
  1469.       presence.
  1470.  
  1471.       To do this, start TSX and use the CD command to select the  TSX32SYS
  1472.       directory  as  your  current working area.  Then type TSGEN to start
  1473.       the TSX system generation program.  Press Enter to accept  TSX32.GEN
  1474.       as  the default system generation file.  From the main menu type 'M'
  1475.       to select Manage Equipment List.  From the  Device  List  menu  type
  1476.       'A'  to  add  a  device.   From  the next menu use the arrow keys to
  1477.       select the "Serial multiplexors" entry and press  Enter.   The  next
  1478.       menu  shows  the  complete list of serial multiplexors that the full
  1479.       TSX-32 system supports.  Since TSX-Lite is restricted to  supporting
  1480.       only  COM  ports,  you  should  use  the arrow keys to highlight the
  1481.       "Dumb serial board" entry.  Press Enter and you  will  be  presented
  1482.       with  a  data  entry  screen titled "New device attributes." You can
  1483.       press F1 to get help for each field of the form.
  1484.  
  1485.       Press Enter while positioned to the "CONTROLLER" field  and  a  list
  1486.       of  valid  controller  letters is displayed.  Select 'D' for COM3 or
  1487.       'E' for COM4 ('A' is used for the console, 'B'  for  COM1,  and  'C'
  1488.       for  COM2).   Next,  use the arrow keys to skip over the "TYPE" file
  1489.       and move down to the "IO_ADDRESS" field.  The standard  address  for
  1490.       COM3  is  3E8  and  the address for COM4 is 2E8.  Some communication
  1491.       adapters  use  different  addresses  so  you  should   consult   the
  1492.       documentation  that  came  with  your  board.  Next move down to the
  1493.       "INTERRUPT" field.  The standard interrupt IRQ number for COM3 is  4
  1494.       and  the  standard  for  COM4 is 3; however, interrupt 4 is also the
  1495.       standard for COM1 and 3 is the standard  for  COM2.   TSX  does  not
  1496.       permit  two  devices  to have the same interrupt numbers so you must
  1497.       set  jumpers  or  DIP  switches  on  your  adapter  card  to  select
  1498.       different  interrupt numbers for COM3 and COM4.  Interrupt values 5,
  1499.       7, 10 and 11  are  reasonable  choices  for  additional  COM  ports.
  1500.       Consult  the  documentation  for  your  adapter  card  for  what the
  1501.       possible interrupt IRQ values  are.   Once  you  enter  the  correct
  1502.       interrupt  number, press ESC to exit from the "New device attributes
  1503.       field" (you do not need to set values for the other  fields  on  the
  1504.       screen).
  1505.  
  1506.       TSGEN  will  display  the  message "Type Y if you want to fill in an
  1507.       example unit." Type 'N' for no.  You will now see an updated  "TSGEN
  1508.       Device  List"  display.  Use the arrow keys and highlight your newly
  1509.       created device (TTD or TTE) and type 'U' to select the  "Unit  list"
  1510.       option.   You  will see the "Unit list for device TTx" screen.  Type
  1511.       'U' again to modify unit settings.  You will now be  presented  with
  1512.       a  screen  labeled  "Device TTx unit 1".  From this point follow the
  1513.       instructions in Section 2.6.2 for setting line  parameters  such  as
  1514.       baud rate, etc.
  1515.  
  1516.       Chapter 2. Getting Started                                        21
  1517.  
  1518.  
  1519.       2.7 Setting up Mouse Support
  1520.  
  1521.       TSX  supports  the Microsoft serial mouse (or other compatible mice)
  1522.       attached to a COM port.  It does not support bus mouse controllers.
  1523.  
  1524.       To use the mouse, connect it  to  a  COM  port  and  use  an  ASSIGN
  1525.       command  of  the  following  form to associate the MOUSEPORT logical
  1526.       device name with the appropriate serial port:
  1527.  
  1528.            ASSIGN TTcuu: MOUSEPORT
  1529.  
  1530.       Where "TTcuu" should be replaced by the appropriate TSX serial  unit
  1531.       name  such as TTB0 (COM1), TTC0 (COM2), TTD0 (COM3), or TTE0 (COM4).
  1532.       Note that the device name MUST end with a colon.
  1533.  
  1534.       If you wish to have the ASSIGN command executed  each  time  TSX  is
  1535.       started,   place   the   following   command  in  your  LSTARTUP.CMD
  1536.       system-wide startup command file:
  1537.  
  1538.            ASSIGN/SYSTEM TTcuu: MOUSEPORT
  1539.  
  1540.       In addition to doing the  ASSIGN  statement,  you  should  also  use
  1541.       TSGEN  to specify the appropriate parameters for the serial COM port
  1542.       to which  the  mouse  is  connected.   Follow  the  instructions  in
  1543.       Section  2.6.2  and  set  the  SPEED  to  1200  baud  for  Microsoft
  1544.       compatible mice or 2400 baud for  2-button  Logitec  mice;  set  the
  1545.       LOGON  parameter  to 'N' (no) to prevent random input from the mouse
  1546.       from causing TSX to try to initiate a job.
  1547.  
  1548.       See Section 14.136 on page 163 for information about setting up  the
  1549.       mouse for Microsoft Windows.
  1550.  
  1551.       If  you  have  problems  getting  the mouse to work, use the command
  1552.       "SHOW ERRORS" and see if there are any errors in  the  MOUERR  error
  1553.       log.   If so, type "EVENT MOUERR" to display the error records.  You
  1554.       can also use the SPY command to monitor input  from  the  mouse  COM
  1555.       port  to confirm that data is being received.  See Section 14.121 on
  1556.       page 158 for additional information about the SPY command.
  1557.  
  1558.  
  1559.       2.8 Setting up CD ROM Support
  1560.  
  1561.       TSX-Lite supports CD ROM drives connected to SCSI disk  controllers.
  1562.       Both  the  ISO  and  High Sierra CD ROM formats are supported.  When
  1563.       TSX is initially installed it senses automatically the  presence  of
  1564.       fixed  disk and diskette drives.  It does not detect the presence of
  1565.       CD ROM drives, so you must use TSGEN to declare their presence.
  1566.  
  1567.       If you have a CD ROM drive with a SCSI controller that you  want  to
  1568.       be  accessible  to TSX, perform the following steps.  Start TSX-Lite
  1569.       and type "CD \TSX32SYS" to  change  to  the  TSX  system  directory.
  1570.       Type  TSGEN  to  start the TSGEN system generation program and press
  1571.       Enter to select TSX32.GEN as your gen  file.   From  the  Main  Menu
  1572.       type  'M'  to  select  Manage Equipment List.  At this point look at
  1573.       the entries that already exist for disk drives -- all  of  the  disk
  1574.  
  1575.       Chapter 2. Getting Started                                        22
  1576.  
  1577.  
  1578.       names  will  begin  with  the letters "DH".  The third letter of the
  1579.       name specifies the logical controller; it is typically 'A', 'B',  or
  1580.       'C'.   Note  the  highest  controller letter currently in use.  Type
  1581.       'A' to add a new device.  Select "Disk drives" from the device  type
  1582.       list.   Select  "SCSI  CDROM"  from  the  next  menu and you will be
  1583.       presented with  a  data  entry  screen  for  the  device.   Enter  a
  1584.       controller  letter that is beyond the highest one that you noted was
  1585.       in use from the earlier device list.  Enter the  SCSI  ID  to  which
  1586.       the  drive  is  configured  and  enter "HAA" for the HOST_ADAP item.
  1587.       Press ESC to exit from the device  definition.   Next  you  will  be
  1588.       presented  with  a  screen  for  entering unit parameters.  You must
  1589.       enter a single letter for DOSDRIVE which  corresponds  to  the  disk
  1590.       letter  that you will use to refer to the device.  Typically letters
  1591.       'A' and 'B' are reserved for diskettes, 'C' is used  for  the  first
  1592.       hard  disk,  etc.   Choose  some  letter that does not conflict with
  1593.       with another disk.  Press ESC repeatedly until you exit from  TSGEN.
  1594.       You must reboot to have the drive definition take effect.
  1595.  
  1596.  
  1597.       2.9 Returning to DOS
  1598.  
  1599.       One  of the nice things about TSX-Lite is that you easily can switch
  1600.       between it and DOS.  The  preferred  way  to  stop  TSX-Lite  is  to
  1601.       execute  the  SHUTDOWN  command  procedure  that is in your TSX32SYS
  1602.       directory.  To  execute  it  simply  type  SHUTDOWN.   The  SHUTDOWN
  1603.       procedure  stops  all  jobs  and  performs an orderly shutdown; this
  1604.       normally takes about 30 seconds to complete.  When  it  finishes  it
  1605.       displays  the message "System ready for shutdown.  You may type BOOT
  1606.       to reboot." At this point you can type the BOOT  command  or  simply
  1607.       press  the  Reset  button  to reboot DOS.  If you don't want to wait
  1608.       for the SHUTDOWN procedure to  run,  simply  exit  from  application
  1609.       programs and type BOOT or press the Reset button.
  1610.  
  1611.  
  1612.  
  1613.  
  1614.  
  1615.  
  1616.                                    Chapter 3
  1617.  
  1618.                               Terminal Operations
  1619.  
  1620.  
  1621.  
  1622.  
  1623.  
  1624.       3.1 Terminal Types
  1625.  
  1626.       TSX-Lite   supports   several   types   of   terminals,  giving  you
  1627.       considerable flexibility  in  configuring  systems.   The  following
  1628.       list summarizes the different terminal types.
  1629.  
  1630.       Console  terminal -- The console terminal is the display device that
  1631.           is directly connected to your computer  through  a  MDA  or  VGA
  1632.           display  adapter.   TSX-Lite  supports  only  a  single  console
  1633.           station.  The full  TSX-32  system  supports  multiple  consoles
  1634.           connected through console multiplexer adapters.
  1635.  
  1636.       Serial  ANSI  Terminals  -- These terminals transmit and receive the
  1637.           ANSI standard characters and  control  sequences.   Examples  of
  1638.           ANSI  terminals  are  the  Digital Equipment Corporation VT-100,
  1639.           VT-200, and VT-300 series terminals.   These  terminals  usually
  1640.           do  not have an IBM compatible keyboard (they do not have all of
  1641.           the function keys) and they can usually only  display  24  lines
  1642.           of text.
  1643.  
  1644.           The  "ANSI" TSX terminal type is a subset of VT-100.  DEC VT-100
  1645.           terminals have attributes such as scrolling regions and  graphic
  1646.           character  sets  that  are not implemented by most ANSI terminal
  1647.           emulators.  You should use the ANSI terminal type  when  running
  1648.           with  ANSI  terminals  or  emulator programs that do not provide
  1649.           the full VT-100 control sequence emulation.
  1650.  
  1651.           TSX provides some keyboard mapping to make it  possible  to  run
  1652.           DOS  programs from these terminals.  To type DOS function key on
  1653.           a DEC VT type terminal  press  F20  followed  by  a  digit  (for
  1654.           example,  F20 followed by 2 generates the IBM code for F2).  For
  1655.           shifted, control, and ALT functions, type  F17  for  shift,  F18
  1656.           for  control,  or  F19  for  ALT,  followed  by  F20-digit.  For
  1657.           example, to generate ALT F3, press F19, F20, and then 3  on  the
  1658.           typewriter  portion  of  the  keyboard.   Press  the "Do" key to
  1659.           generate an ESC.
  1660.  
  1661.           If you run a program that has a 25 line display  only  24  lines
  1662.           will  be  displayed  at  a  time.   Type  control-V to shift the
  1663.           screen so that the additional line can be seen.
  1664.  
  1665.  
  1666.  
  1667.  
  1668.                                        23
  1669.  
  1670.       Chapter 3. Terminal Operations                                    24
  1671.  
  1672.  
  1673.       Serial PC-Term Terminals -- These are  serial  terminals  that  have
  1674.           IBM  compatible keyboards and transmit make/break keyboard codes
  1675.           like the console  keyboard.   They  can  display  25  lines  and
  1676.           support  the  IBM  display  character  set.  These terminals are
  1677.           much better  suited  for  running  DOS  applications  than  ANSI
  1678.           terminals.   Examples  of PC-Term terminals are Relisys and Wyse
  1679.           WY-150.  If you have one  of  these  terminals  you  should  use
  1680.           TSGEN and set the TERMTYPE for the line to PCTERM or RELISYS.
  1681.  
  1682.       TSXTERM  Terminal Emulator -- The TSXTERM terminal emulator program,
  1683.           which is  provided  with  TSX-Lite,  can  be  run  on  a  remote
  1684.           computer  that is connected to your TSX-Lite system via either a
  1685.           hardwired serial connection or a modem.  This is the  best  type
  1686.           of  TSX  workstation.   See Chapter 11, starting on page 70, for
  1687.           additional information about TSXTERM.
  1688.  
  1689.  
  1690.       3.2 Terminal Input Editor
  1691.  
  1692.       As you type TSX commands they are stored in a recall  list  so  that
  1693.       you  can  easily  recall  and reexecute commands.  This is useful if
  1694.       you make a typing error and want to recall, edit, and reexecute  the
  1695.       last  command.   You  can  also  recall  previous commands simply to
  1696.       avoid retyping them.
  1697.  
  1698.       There are two ways to recall commands, the  simplest  is  to  simply
  1699.       press  the  up-arrow  key  (or F3).  Each time you press up-arrow an
  1700.       earlier line in the recall list  is  displayed.   Once  the  desired
  1701.       line  has  been  recalled, press Enter to execute it.  You can press
  1702.       down-arrow to move in the  opposite  direction  through  the  recall
  1703.       list.   The second way to recall saved commands is to use the RECALL
  1704.       command which is described in Section 14.65 on page 127.   See  also
  1705.       the  description  of  the  SET EDIT command in Section 14.75 on page
  1706.       137.
  1707.  
  1708.       In addition to recalling previous lines, the Terminal  Input  Editor
  1709.       allows  you to edit lines.  To do this use the left- and right-arrow
  1710.       keys to position the cursor where the edit  is  to  take  place  and
  1711.       then  type  characters to be inserted or use the Backspace or Delete
  1712.       keys to remove characters.  The Home and  End  keys  will  move  the
  1713.       cursor  to  the  left  or  right  end  of  the  line.   You can type
  1714.       Control-A to switch between insert and overstrike edit modes.
  1715.  
  1716.  
  1717.       3.3 Control Characters
  1718.  
  1719.       Certain control characters have special meaning to  TSX.   They  are
  1720.       entered  by  holding down the "Ctrl" key while pressing the selected
  1721.       character.
  1722.  
  1723.       If you have a program that needs to receive one of these  characters
  1724.       for  its  own functions, you can use the PMAN program to install the
  1725.       application and specify that selected control characters are  to  be
  1726.       passed  directly  to  the  program  rather than being interpreted by
  1727.       TSX.
  1728.  
  1729.       Chapter 3. Terminal Operations                                    25
  1730.  
  1731.  
  1732.         . Control-\ -- Terminates a cross-connection initiated by the  SET
  1733.           HOST command (see Section 14.78).
  1734.  
  1735.         . Control-A  --  Switch  the  terminal input editor between insert
  1736.           and overstrike modes.
  1737.  
  1738.         . Control-B -- If you enabled the TSX print window facility,  this
  1739.           character  causes  the contents of the screen to be printed.  It
  1740.           has the same effect as pressing "Print Screen".  If you did  not
  1741.           enable  the print window facility when you installed TSX you can
  1742.           enable it by using TSGEN to set the DOWINPRNT  sysgen  parameter
  1743.           to   1.    See   Section   14.83  on  page  142  for  additional
  1744.           information.
  1745.  
  1746.         . Control-C -- Aborts the current program.  If the program is  not
  1747.           reading  characters  from  the terminal, you must type control-C
  1748.           twice to abort it.
  1749.  
  1750.         . Control-O -- Suppresses program output  to  the  terminal  until
  1751.           one  of  the following conditions occurs: (1) a second control-O
  1752.           is typed; (2) the program stops.
  1753.  
  1754.         . Control-Q -- Resumes output to the  terminal  after  output  was
  1755.           suspended by typing control-S.
  1756.  
  1757.         . Control-S -- Suspends terminal output until control-Q is typed.
  1758.  
  1759.         . Control-T  --  Displays  at  your terminal a line of information
  1760.           showing the status of your job.
  1761.  
  1762.         . Control-U -- Deletes all characters on the  current  input  line
  1763.           to the left of the cursor position.
  1764.  
  1765.         . Control-V  --  If  you  are  running  a  program that uses 25 to
  1766.           display information  on  a  serial  terminal  that  only  has  a
  1767.           24-line  display,  control-V  shifts  the  display up or down so
  1768.           that you can see the hidden line.
  1769.  
  1770.         . Control-W -- Type  control-W  followed  by  a  digit  to  switch
  1771.           between your TSX window sessions.
  1772.  
  1773.         . Control-X  --  Deletes  all  pending  terminal  input characters
  1774.           including characters you typed ahead which have not yet echoed.
  1775.  
  1776.         . Control-Z -- Indicates "end of file" to programs  reading  input
  1777.           from the terminal.
  1778.  
  1779.         . Backspace  (or  Delete)  -- Deletes the character to the left of
  1780.           the cursor.
  1781.  
  1782.         . Up-arrow -- Recalls previous command lines.
  1783.  
  1784.         . Down-arrow -- Moves downward through saved command lines.
  1785.  
  1786.       Chapter 3. Terminal Operations                                    26
  1787.  
  1788.  
  1789.         . Left/Right-arrow -- Moves the cursor within the current  command
  1790.           line for editing purposes.
  1791.  
  1792.         . Delete -- Deletes the character the cursor is positioned on.
  1793.  
  1794.         . Home -- Moves to the left end of the current command line.
  1795.  
  1796.         . End -- Moves to the right end of the current command line.
  1797.  
  1798.         . Print  Screen  --  If you enabled the TSX print window facility,
  1799.           this character causes the contents of the screen to be  printed.
  1800.           If  you  did  not  enable  the  print  window  facility when you
  1801.           installed TSX you can enable  it  by  using  TSGEN  to  set  the
  1802.           DOWINPRNT  sysgen parameter to 1.  See Section 14.83 on page 142
  1803.           for additional information.
  1804.  
  1805.         . Scroll Lock -- Call up the TSX Session Manager so that  you  can
  1806.           select  which  window  session you want to connect your terminal
  1807.           with.
  1808.  
  1809.  
  1810.       3.4 Screen Saver
  1811.  
  1812.       TSX features a "console  screen  saver"  feature  which  causes  the
  1813.       console  to  be  darkened  after a period of inactivity.  This helps
  1814.       lengthen the lifespan of the  console  display.   The  screen  saver
  1815.       only  affects  the  console display, not serial terminals.  When the
  1816.       screen saver blanks the console you can  press  any  key  (including
  1817.       Shift)  to  cause  the  display  to  be  reenabled.  By default, the
  1818.       console will be blacked out after 20 minutes  of  inactivity.   This
  1819.       time  period  can  be  modified  by using TSGEN to set the CONSSTIME
  1820.       parameter to the number of minutes before blanking occurs.  You  can
  1821.       set CONSSTIME to 0 to disable the screen saver.
  1822.  
  1823.  
  1824.       3.5 Communication Lines
  1825.  
  1826.       Your  serial  COM  ports can be used in two ways under TSX: (1) as a
  1827.       timesharing line through which you can log on and run  programs,  or
  1828.       (2)  as a "communication" line which is simply an I/O device used by
  1829.       a program to access some peripheral device such as a serial  printer
  1830.       or modem.
  1831.  
  1832.       TSX  allows  the  same  COM  port  to  be used part of the time as a
  1833.       communication line and at other times  as  a  timesharing  line.   A
  1834.       good  example  of  this is a line connected to a modem.  During part
  1835.       of the day remote users can call in and log on  through  this  line.
  1836.       At  other  times,  when no one is logged onto the line, the line can
  1837.       be used as a communication line when a program such  as  Procomm  is
  1838.       running  and  wants  to access the modem.  A port would also be used
  1839.       as a communication line when a bulletin board was running and  using
  1840.       the line to accept incoming calls.
  1841.  
  1842.       When  a  user  is  logged  onto  a  timesharing  line, attempts by a
  1843.       program to allocate  the  line  as  a  communication  line  will  be
  1844.  
  1845.       Chapter 3. Terminal Operations                                    27
  1846.  
  1847.  
  1848.       rejected.   Conversely,  when  a  line  is in use as a communication
  1849.       line, TSX will not attempt to receive incoming calls or log  a  user
  1850.       on  because  control  of  the  line  has  been  relinquished  to the
  1851.       application program.  When the program exits the line  becomes  free
  1852.       and  TSX  will then log a user on when an incoming call arrives or a
  1853.       user presses Enter on a hardwired line.  If you wish  to  reserve  a
  1854.       line  as a communication line so that users may not log onto it, use
  1855.       TSGEN and set the LOGON parameter for the serial unit to  'N'  (no).
  1856.       See Section 2.6.2 for information about doing this.
  1857.  
  1858.       If  you  issue  a SHOW TERMINALS command the Status column will show
  1859.       "Logged on" if someone is  currently  logged  onto  the  line  as  a
  1860.       timesharing  line,  "I/O device" if a program is using the line as a
  1861.       communication line, or "Logged off" if the line is free.
  1862.  
  1863.  
  1864.       3.6 International Keyboard Support
  1865.  
  1866.       PC  keyboards  available  in  different  countries  have   different
  1867.       layouts  and  produce  different  characters than American keyboards
  1868.       do.  Under DOS, an alternate "keyboard driver" is  loaded  to  alter
  1869.       the  key  definitions.   In  TSX, alternate keyboard definitions are
  1870.       loaded from external control files called ".KEY files"  since  their
  1871.       extension is .KEY.
  1872.  
  1873.       The  .KEY  files  used  by  TSX  have the advantage that they can be
  1874.       edited with any text editor.  Hence, it is possible  to  create  new
  1875.       key  files  or  alter  the  definitions  of  keys  without obtaining
  1876.       additional drivers.
  1877.  
  1878.       For an alternate key file to take effect, it  must  be  loaded  with
  1879.       the KEYLOAD command, as in:
  1880.  
  1881.            KEYLOAD ITALY
  1882.  
  1883.       This  command  is normally placed in the site's LSTARTUP.CMD command
  1884.       procedure so that keyboard definitions are correct for  the  country
  1885.       each time the system boots.
  1886.  
  1887.       It  is  also  possible  for separate lines to have separate keyboard
  1888.       definitions, in the event that one computer is used by  people  with
  1889.       different  keyboards.  The use of the /LINE qualifier to the KEYLOAD
  1890.       command causes the loaded .KEY file  to  only  change  the  terminal
  1891.       from which the command was issued.
  1892.  
  1893.       Your  TSX  distribution  includes  the following .KEY files: US.KEY,
  1894.       GERMAN.KEY,  ITALY.KEY,  FRENCH.KEY,  and  SPANISH.KEY.   US.KEY  is
  1895.       provided  as an example; it is not necessary to use KEYLOAD for U.S.
  1896.       keyboards.
  1897.  
  1898.       You can use .KEY files to alter the definition of  any  key  in  any
  1899.       shift  state.   The  format of the file is documented in system file
  1900.       US.KEY, which also documents the keyboard  tables  which  TSX  comes
  1901.       preloaded with.
  1902.  
  1903.  
  1904.  
  1905.  
  1906.  
  1907.  
  1908.                                    Chapter 4
  1909.  
  1910.                               Running DOS Programs
  1911.  
  1912.  
  1913.  
  1914.  
  1915.       TSX  is  designed  to support modern 32-bit application programs and
  1916.       there are development tools available to write 32-bit  programs  for
  1917.       TSX  in  virtually all of the modern programming language.  However,
  1918.       at this point you may not have  any  32-bit  applications  and  just
  1919.       want   to   run  your  favorite  16-bit  DOS  applications.   Before
  1920.       proceeding, however, you should understand just a little  bit  about
  1921.       how DOS applications are supported in TSX.
  1922.  
  1923.       Under  TSX,  each  DOS  program  is run in "virtual 8086 mode." This
  1924.       means we fool the program into thinking  it  is  running  on  a  DOS
  1925.       computer  with  640Kb  of  memory  (plus  EMS  and  XMS).   TSX also
  1926.       supports programs that use the  DPMI  services  to  enter  protected
  1927.       mode.   In this mode, most 16-bit DOS programs run well under TSX --
  1928.       some even run faster under TSX than DOS.  However,  there  are  some
  1929.       "dirty"  DOS  programs  that  do  sneaky  tricks  under DOS (such as
  1930.       poking around in the operating system or directly messing  with  the
  1931.       hardware) that will run poorly, or not at all, under TSX.
  1932.  
  1933.       TSX  is  a true 32-bit, protected mode operating system.  "Protected
  1934.       mode" means  that  the  operating  system  and  its  components  are
  1935.       protected  from  harm by errant applications.  If a program tries to
  1936.       step outside of its bounds, the operating system will terminate  the
  1937.       program.   This  greatly  reduces  the chances of system "hangs" and
  1938.       "crashes" and prevents one application program from  disturbing  the
  1939.       execution of another.
  1940.  
  1941.       However,  protected  mode  prevents  the  execution of some programs
  1942.       such as SpinRite, Norton's Disk Doctor and SD,  CHKDSK,  DOS  16-bit
  1943.       device  drivers, and other programs that attempt to directly control
  1944.       the computer hardware.  This type of program will  have  to  be  run
  1945.       under DOS at a time that TSX is not in control.
  1946.  
  1947.  
  1948.       4.1 Installing and Tuning DOS Programs
  1949.  
  1950.       You  should use the same procedure for installing DOS programs under
  1951.       TSX as you would under DOS itself.  In fact, it is a  good  idea  to
  1952.       install  new  programs  under  DOS and verify their operation before
  1953.       using them with TSX.
  1954.  
  1955.       Once a program is up and running you may wish to use  the  TSX  PMAN
  1956.       command  to  specify  various  tuning  parameters for the program to
  1957.       optimize its execution under TSX.  The PMAN command  allows  you  to
  1958.  
  1959.  
  1960.                                        28
  1961.  
  1962.       Chapter 4. Running DOS Programs                                   29
  1963.  
  1964.  
  1965.       associate  attributes  with programs so that the attributes are used
  1966.       by TSX whenever the program is executed.   Attributes  that  may  be
  1967.       specified  for  a  program include the maximum memory space that the
  1968.       program may use, privileges to be granted to the  program  while  it
  1969.       is running, and many other options.
  1970.  
  1971.       A  program  whose  attributes  have  been  specified  using  PMAN is
  1972.       referred to as having been "installed" in TSX.  Many attributes  can
  1973.       be  set  with  PMAN, some of which can have a dramatic effect on the
  1974.       performance of programs running  under  TSX.   However,  it  is  not
  1975.       necessary  to "install" most programs with PMAN in order to use them
  1976.       with TSX; PMAN simply specifies parameters that tune  the  execution
  1977.       of  a  program  under TSX.  See Sections 2.5 and 4.6 for information
  1978.       about several important tuning parameters.
  1979.  
  1980.       When you use  PMAN  to  associate  attributes  with  a  program  the
  1981.       attribute  settings  take  effect  immediately  (you  do not need to
  1982.       reboot TSX).  In addition, PMAN updates a file  in  the  TSX  system
  1983.       directory  named  INSTALL.CMD  with information about the attributes
  1984.       for each program.  The INSTALL.CMD file  is  executed  automatically
  1985.       each  time  TSX  is  booted  so the attributes will remain in effect
  1986.       over system restarts.
  1987.  
  1988.  
  1989.       4.2 Direct Write Programs
  1990.  
  1991.       There are two basic methods used by programs to display  information
  1992.       on  the  screen.   Either  they perform system services to cause TSX
  1993.       (or DOS) to display the information or  they  directly  program  the
  1994.       video  memory  and  control  registers.   Many DOS programs directly
  1995.       access the video memory and registers -- this is especially true  of
  1996.       programs  that perform graphics.  TSX supports programs that use the
  1997.       display system services as well as those that  directly  access  the
  1998.       video  hardware.   Programs  that  do direct video access (bypassing
  1999.       the operating system) are called "direct write" programs.
  2000.  
  2001.       The TSX process windowing facility  operates  differently  depending
  2002.       on  whether  it  is  running a direct write program.  Because direct
  2003.       write programs control the display themselves -- behind the back  of
  2004.       the  operating  system -- TSX must suspend their execution when they
  2005.       are not in  the  session  currently  connected  to  the  screen  and
  2006.       keyboard.   Other  programs  that  do  not perform direct writes are
  2007.       allowed to  continue  executing  even  when  their  session  is  not
  2008.       connected  to  the  screen and keyboard.  If you have an application
  2009.       that does not do graphic display and which you would  like  to  have
  2010.       continue  executing  even  when  it is not connected to the console,
  2011.       you can start it by using the following command:
  2012.  
  2013.            RUN/NODWRITE program
  2014.  
  2015.       or you can use the TSX PMAN command to "install"  the  program  with
  2016.       the  NODWRITE  attribute  which  will  be invoked automatically each
  2017.       time the program is executed.  See Section  2.5,  starting  on  page
  2018.       11,  for  additional  information  about  setting  up  multi-tasking
  2019.       applications.
  2020.  
  2021.       Chapter 4. Running DOS Programs                                   30
  2022.  
  2023.  
  2024.       If you prefer to have  NODWRITE  be  the  default  setting  for  all
  2025.       programs,  you  can  use TSGEN to set the DEFDWRITE sysgen parameter
  2026.       to 0.  You can then use PMAN  to  selectively  turn  on  the  DWRITE
  2027.       parameter for programs that are going to do graphical displays.
  2028.  
  2029.  
  2030.       4.3 DOS Environment Variables
  2031.  
  2032.       When  you  begin  execution  of  a  16-bit  program,  TSX creates an
  2033.       "environment block" for the  program  containing  information  about
  2034.       all  symbols  defined  by use of the command "SET symbol".  The form
  2035.       of this command is
  2036.  
  2037.       SET[/SYSTEM] symbol=string
  2038.  
  2039.       For  example,  the  following  command  creates  a  DOS  environment
  2040.       variable named CL and assigns a string of options to it:
  2041.  
  2042.       SET CL = /Od /Zi
  2043.  
  2044.       If  you specify the /SYSTEM qualifier, the symbol is defined for all
  2045.       users and jobs; otherwise, it only applies  to  your  job.   If  you
  2046.       want  to  put  SET  commands  in  the  TSX LSTARTUP.CMD system-wide,
  2047.       start-up command file, be sure to use the /SYSTEM qualifier  or  the
  2048.       SET  commands  will apply only to the startup initialization job and
  2049.       not to other users and jobs.
  2050.  
  2051.  
  2052.       4.4 16-bit Program Device Names
  2053.  
  2054.       DOS treats the file names CON, PRN, AUX, and  NUL  specially  (note:
  2055.       these  are file names, not device names because there is no trailing
  2056.       colon).  If one of these file names is  specified,  the  channel  is
  2057.       opened  to a device rather than a disk file.  For compatibility, TSX
  2058.       also handles these file  names  specially  and  converts  them  into
  2059.       device names as shown below:
  2060.  
  2061.              CON --> TT:
  2062.              PRN --> LPT1:
  2063.              AUX --> AUX:
  2064.              NUL --> NL:
  2065.  
  2066.       You  may use an ASSIGN command to associate the logical device names
  2067.       LPT1 and AUX with the  actual  devices,  spooled  print  queues,  or
  2068.       files  of  your  choice.   If  a  16-bit  program attempts to open a
  2069.       channel to device or AUX: and no such logical device name  has  been
  2070.       defined, TSX directs the output to a disk file named STDAUX.LST.
  2071.  
  2072.       For  example,  the  following  command  assigns  the  name LPT1 to a
  2073.       spooled printer queue named LJPRINT:,
  2074.  
  2075.            ASSIGN  LJPRINT:  LPT1
  2076.  
  2077.       Chapter 4. Running DOS Programs                                   31
  2078.  
  2079.  
  2080.       4.5 Support for COMMAND.COM and TSR Programs
  2081.  
  2082.       TSX provides support for some  Terminate  and  Stay  Resident  (TSR)
  2083.       programs  such  as  Btrieve  and  Sidekick.   In  order to use a TSR
  2084.       program, you must run the  DOS  COMMAND.COM  command  processor  and
  2085.       then  use  it  to load the TSR program and execute programs that use
  2086.       the TSR program.  To do  this,  begin  by  running  the  COMMAND.COM
  2087.       program by issuing the TSX "DOS" command.
  2088.  
  2089.       Note  that  it is not necessary to issue the DOS command in order to
  2090.       run 16-bit programs with TSX.  Whenever  you  run  a  program  under
  2091.       TSX,  it  checks  to see if the program being started is a 16-bit or
  2092.       32-bit program and automatically shifts into the  correct  mode  for
  2093.       the  program.   You do not even have to be aware of whether a 16-bit
  2094.       or 32-bit program  is  executing.   When  a  16-bit  program  exits,
  2095.       control returns to the 32-bit TSX command processor.
  2096.  
  2097.       However,  there  are  two cases where it is useful to be able to run
  2098.       the DOS command processor: First, if you wish to run  a  16-bit  TSR
  2099.       program  such as Sidekick or Btrieve, it is necessary to establish a
  2100.       16-bit environment that will not be terminated when the TSR  program
  2101.       exits.   Second, you may wish to run COMMAND.COM so that you can use
  2102.       DOS commands or execute DOS BAT (batch) files that use commands  not
  2103.       supported by the TSX command processor.
  2104.  
  2105.       While  COMMAND.COM  is  running, you can issue DOS commands, execute
  2106.       BAT files, and run other 16-bit programs.  You may  not  run  32-bit
  2107.       programs  or  execute  TSX  specific commands such as FMAN until you
  2108.       exit from COMMAND.COM.  If you run a TSR program, the  program  will
  2109.       be   loaded  into  memory,  initialize  itself,  and  then  exit  to
  2110.       COMMAND.COM without freeing its memory  area.   Other  programs  can
  2111.       then  be  run  which  interact with the TSR program that is still in
  2112.       memory.
  2113.  
  2114.       Type the EXIT command to COMMAND.COM when  you  are  ready  to  exit
  2115.       from  it.   When  you  exit  from  COMMAND.COM  to  the  TSX command
  2116.       interpreter (and the native 32-bit environment), the 16-bit  program
  2117.       environment  is  released  and  memory space used by TSR programs is
  2118.       freed.  Thus, if you want to run other programs  that  use  the  TSR
  2119.       you   must   get   back  into  the  16-bit  environment  by  running
  2120.       COMMAND.COM again and reloading the TSR programs.
  2121.  
  2122.       If you  plan  to  make  heavy  use  of  TSR  programs  in  a  16-bit
  2123.       environment,  the  best  approach  is  to switch to a subprocess (by
  2124.       typing control-W-digit), issue the DOS command to  run  COMMAND.COM,
  2125.       load  TSR  programs,  and  then  switch  back to a subprocess in the
  2126.       32-bit environment when you want to run 32-bit programs rather  than
  2127.       stopping and restarting COMMAND.COM.
  2128.  
  2129.  
  2130.       4.6 Controlling DOS Program Input Loops
  2131.  
  2132.       TSX  provides  a  number  of  tuning parameters that can improve the
  2133.       performance  of  DOS  programs  --  especially  on  heavily   loaded
  2134.       systems.   However,  most  of  the  time the standard TSX scheduling
  2135.  
  2136.       Chapter 4. Running DOS Programs                                   32
  2137.  
  2138.  
  2139.       does a very good job and it is not necessary to  specially  tune  or
  2140.       install  programs.  Unless you are experiencing performance problems
  2141.       you may wish to skip the following sections  on  tuning,  especially
  2142.       on the first reading.
  2143.  
  2144.       Well  behaved  programs  suspend their execution while idle by using
  2145.       one of the system services that wait for terminal  input.   However,
  2146.       many  DOS  programs  have  an  idle  loop  that  checks  for pending
  2147.       terminal input without waiting, and then, if no  input  is  pending,
  2148.       loop  back  and check again.  This causes the program to burn up CPU
  2149.       time  while  it  is  waiting  for  terminal  input  and  places   an
  2150.       unnecessary burden on the system.
  2151.  
  2152.       You  can  detect  programs  that behave this way by using the SYSMON
  2153.       command  or  repeatedly  executing  the  SHOW  SYSTEM  command  from
  2154.       another  time-sharing  line  to  display information about a program
  2155.       that is in an  idle  state  waiting  for  terminal  input.   If  the
  2156.       "State"  of  the  job  is  continuously  shown as "CPU" and the "CPU
  2157.       time" value is increasing steadily, then the program is  in  a  loop
  2158.       while waiting for terminal input.
  2159.  
  2160.       TSX  provides  several program execution attributes that may be used
  2161.       to "tame" DOS programs that loop while waiting for  terminal  input.
  2162.       The  TTWAIT and TTCKIO attributes provide basic control over looping
  2163.       programs and may be associated  with  the  program  using  the  PMAN
  2164.       command.    Three   other   attributes,  MAXTTCHK,  MAXTTIOCHK,  and
  2165.       TTHANGTIME may be  used  with  the  PMAN  command  to  provide  more
  2166.       precise control.
  2167.  
  2168.       When  a  program  is  executed  with one or more of these attributes
  2169.       specified, TSX uses a counter to  tally  the  number  of  times  the
  2170.       program  checks  for terminal input without waiting.  The counter is
  2171.       reset when terminal input is received or when the  program  performs
  2172.       other  system  services  such  as  reading,  writing,  updating  the
  2173.       screen, etc.  If the TTWAIT attribute is specified and  the  program
  2174.       performs  more terminal input checks than the value specified by the
  2175.       MAXTTCHK  attribute  (or  the  MAXTTCHK  sysgen  parameter  if   the
  2176.       MAXTTCHK  attribute  is  not  specified),  without  doing  any other
  2177.       system services, the program is suspended for  the  length  of  time
  2178.       specified  by  the  TTHANGTIME  attribute  (or the TTHANGTIME sysgen
  2179.       parameter if the TTHANGTIME attribute was not specified),  and  then
  2180.       is  allowed  to  check  for  terminal  input until the counter again
  2181.       exceeds the MAXTTCHK attribute.
  2182.  
  2183.       The TTCKIO and  MAXTTIOCHK  attributes  have  a  similar  effect  to
  2184.       TTWAIT  and  MAXTTCHK,  but modify the number of times that terminal
  2185.       input checks may be  performed  after  a  disk  I/O  operation.   If
  2186.       TTCKIO  is  specified,  the program is allowed to perform the number
  2187.       of terminal input checks specified by the MAXTTIOCHK  attribute  (or
  2188.       the  value  of  the MAXTTIOCHK sysgen parameter if the MAXTTIOCHK is
  2189.       not specified) after each disk I/O operation.
  2190.  
  2191.       If you have a program which is continuously  in  the  CPU  execution
  2192.       state   while  waiting  for  terminal  input,  try  using  PMAN  and
  2193.       installing the program with the  TTWAIT  attribute  turned  on.   If
  2194.  
  2195.       Chapter 4. Running DOS Programs                                   33
  2196.  
  2197.  
  2198.       this  causes  its  execution  to  slow  down, try experimenting with
  2199.       different values for the MAXTTCHK attribute.
  2200.  
  2201.       As  an  example,  assume  that  you  are  trying  out  a   new   DOS
  2202.       application,  named  HEW, under TSX.  The program runs fine, just as
  2203.       it would under  DOS.   However,  other  users  complain  that  their
  2204.       processes  run  significantly  slower  while  HEW is executing.  You
  2205.       presume that HEW is needlessly looping for terminal input  while  it
  2206.       is  idling,  so  you use PMAN to install the program with the TTWAIT
  2207.       attribute to eliminate CPU waste.  Unfortunately,  this  causes  HEW
  2208.       to  run  too  slowly,  so you need to fine-tune its operation, using
  2209.       the MAXTTCHK attribute.
  2210.  
  2211.       Generally, by using this procedure you can greatly  reduce  the  CPU
  2212.       time  used  by  idling programs without having any adverse affect on
  2213.       response time.  However, a few programs have pathological  behaviors
  2214.       that  cause  problems.   WordPerfect  is  a good example.  Normally,
  2215.       WordPerfect checks  for  keyboard  input  a  few  times  after  each
  2216.       character   is   typed  and  the  MAXTTCHK  attribute  is  adequate.
  2217.       However, when performing some operations  such  as  a  mailing  list
  2218.       merge,  it  checks  for  keyboard  input many times while performing
  2219.       merging tasks and it does not  perform  any  other  system  services
  2220.       which  would  reset the terminal input check counter.  The result is
  2221.       that TSX "thinks" WordPerfect is in its idle loop  and  suspends  it
  2222.       periodically.  This significantly slows down the merge operation.
  2223.  
  2224.       To  handle this case, you may type control-W '+' (control-W followed
  2225.       by a plus sign) to cause  TSX  to  temporarily  allow  an  unlimited
  2226.       number  of  terminal  input  checks  without suspending the program.
  2227.       Type control-W '-' (control-W followed by a minus sign) to  reenable
  2228.       standard  terminal  input check suspension.  When you type control-W
  2229.       '+' a timer is started; if you do not type control-W '-' before  the
  2230.       amount  of  CPU  time  specified  by the NOWAITTIME sysgen parameter
  2231.       elapses, the terminal input check suspension is  reenabled  just  as
  2232.       if   you   had  typed  control-W  '-'.   Another  system  generation
  2233.       parameter, NOWAITCNT, causes the effects  of  control-W  '+'  to  be
  2234.       canceled  after  the  specified number of characters are typed.  The
  2235.       bell is rung at your terminal when control-W '+' is  canceled.   The
  2236.       NOWAITTIME  sysgen  parameter  is specified in units of 0.01 seconds
  2237.       and the default value is 30,000 (5 minutes).  The default  value  of
  2238.       NOWAITCNT is 100.
  2239.  
  2240.  
  2241.       4.7 IDLETIME Attribute
  2242.  
  2243.       If  you  are  unable  to  "tame"  a  program  by  use  of the TTWAIT
  2244.       attribute, there is one other method available.  If PMAN is used  to
  2245.       install  a program with a non-zero value for the IDLETIME parameter,
  2246.       then TSX starts a timer each  time  the  program  begins  computing.
  2247.       The  timer  is  reset  when  the program does terminal I/O, or other
  2248.       system services.  If  the  time  value  exceeds  the  value  of  the
  2249.       IDLETIME   parameter   specified  for  the  program,  the  program's
  2250.       execution state is reduced from the normal  CPU  state  to  a  lower
  2251.       priority  state called LOCP.  In this state the program continues to
  2252.       execute but because  it  is  at  a  reduced  priority  it  does  not
  2253.  
  2254.       Chapter 4. Running DOS Programs                                   34
  2255.  
  2256.  
  2257.       interfer  with  the  execution  of  normal  priority jobs, including
  2258.       those in the standard CPU compute-bound state.  The  idle  timer  is
  2259.       reset,  and  the  program  is  restored  to  normal priority, when a
  2260.       character is received or a system  service  is  executed.   If  this
  2261.       parameter  is  given  the value 0, the program is allowed to compute
  2262.       indefinitely without being classified as idle.
  2263.  
  2264.       In selecting a value for the IDLETIME  attribute,  it  is  important
  2265.       that  you  do  not  choose  a  value which is so low that legitimate
  2266.       computation performed by the program causes it to be placed  in  the
  2267.       LOCP  state.   Obviously,  this  is  dependent  on the nature of the
  2268.       program  and  will  require  some   experimentation   to   optimize.
  2269.       However,  a  reasonable  starting  point would be in the range of 10
  2270.       seconds, which corresponds to an IDLETIME parameter setting of  1000
  2271.       since it is specified in units of 0.01 seconds.
  2272.  
  2273.       It  is  suggested that you use the MAXTTCHK and MAXTTIOCHK to try to
  2274.       tame a program before resorting to using IDLETIME.
  2275.  
  2276.  
  2277.       4.8 Printer Flush Sysgen Parameters
  2278.  
  2279.       Some DOS programs open printer output, write  some  characters,  and
  2280.       leave  the printer open until they exit.  This causes the printer to
  2281.       be tied up  by  the  job,  blocking  output  by  other  users.   TSX
  2282.       provides   two   system  generation  parameters  to  alleviate  this
  2283.       situation: DOSLPTTIME  and  DOSLPTCLSTIME.   The  DOSLPTTIME  sysgen
  2284.       parameter  causes  output  to  be  flushed  to the printer after the
  2285.       specified number of seconds, but the printer is held for use by  the
  2286.       job.   The  DOSLPTCLSTIME sysgen parameter causes data to be flushed
  2287.       to the spooled printer and then releases  the  printer  for  use  by
  2288.       other  users.   The  printer  will  be  reclaimed by the job when it
  2289.       generates more output and it is not in  use  by  another  job.   The
  2290.       DOSLPTCLSTIME  parameter  specifies  that if the printer is idle for
  2291.       the number of seconds  (i.e.,  no  characters  are  written  by  the
  2292.       program)  it  is released.  The timer controlled by DOSLPTCLSTIME is
  2293.       reset each time the program writes to the printer.
  2294.  
  2295.       See Section 2.5, starting on page  11,  for  additional  information
  2296.       about installing and tuning DOS programs.
  2297.  
  2298.  
  2299.       4.9 Virtual UART Support
  2300.  
  2301.       In  order  to  support  a variety of serial adapter types, including
  2302.       "smart" serial adapters, TSX has to emulate  the  operation  of  the
  2303.       actual  hardware devices and make all adapter types look like simple
  2304.       UART COM ports for communication programs that  perform  direct  COM
  2305.       port  I/O.   This  emulation  forces TSX to intercept all IN and OUT
  2306.       instructions  performed  to  the  COM  port  control  registers  and
  2307.       convert  them into the appropriate commands depending on the type of
  2308.       serial adapter actually in  use.   This  emulation  allows  programs
  2309.       like  Procomm and BBS software to use any serial line on any type of
  2310.       adapter that is supported by TSX even though these programs  do  not
  2311.       understand  how to control the actual hardware.  TSX makes it "look"
  2312.  
  2313.       Chapter 4. Running DOS Programs                                   35
  2314.  
  2315.  
  2316.       like a 16550 UART type COM port.  This emulation works well but  may
  2317.       result  in  high-speed  communications  being slowed down because of
  2318.       the emulation overhead.  The  use  of  actual  16550  type  buffered
  2319.       controllers reduces the overhead and improves throughput.
  2320.  
  2321.  
  2322.       4.10 Expanded Memory Support (EMS)
  2323.  
  2324.       TSX  supports  the  Expanded  Memory Specification (EMS) version 4.0
  2325.       developed by  Lotus/Intel/Microsoft.   Under  DOS,  expanded  memory
  2326.       support  is  provided  by  a  handler  such  as  EMM386.  Under TSX,
  2327.       expanded memory support is  an  integral  part  of  the  system  and
  2328.       EMM386 should not be loaded when TSX is started.
  2329.  
  2330.       By  default, 16-bit programs may access an amount of expanded memory
  2331.       space defined by the EMSDEFPGS sysgen parameter.   (Note:  each  TSX
  2332.       user  has  this  much expanded memory space available).  You can use
  2333.       the SET PROCESS command to control the  amount  of  expanded  memory
  2334.       space  you  want to make available to programs you run.  The form of
  2335.       this command to control expanded memory space is:
  2336.  
  2337.            SET PROCESS/EMS=value
  2338.  
  2339.       Where value is the number of K-bytes to make available  in  expanded
  2340.       memory.   The  maximum value that may be specified is limited by the
  2341.       EMSMAXPGS sysgen parameter.  If the value is set  to  0  (zero)  EMS
  2342.       support is disabled for the process.
  2343.  
  2344.  
  2345.       4.11 Extended Memory Support (XMS)
  2346.  
  2347.       TSX  supports  the  Extended  Memory Specification (XMS) version 2.0
  2348.       developed by  Lotus/Intel/Microsoft.   Under  DOS,  extended  memory
  2349.       support  is  provided  by  a  handler such as HIMEM.SYS.  Under TSX,
  2350.       extended memory support is  an  integral  part  of  the  system  and
  2351.       HIMEM.SYS should not be loaded when TSX is started.
  2352.  
  2353.       TSX  is  a  "virtual  memory"  operating  system.   This  means that
  2354.       programs can potentially use more memory than  physically  installed
  2355.       in  your  computer.   In  other  words, you could run a program that
  2356.       needs 8 MB on a computer that only  has  4  MB  installed.   When  a
  2357.       program  uses  more  memory  than is available, TSX uses a technique
  2358.       called "demand paging" to keep in memory the most recently  accessed
  2359.       memory  pages.   The  other  pages  are  stored in a page file named
  2360.       PAGEFILE.TSX in the TSX system directory.   The  size  of  the  page
  2361.       file is controlled by the PGFILSIZ sysgen parameter.
  2362.  
  2363.       The  maximum  virtual  memory  space  available  to  each program is
  2364.       controlled  by  the  MAXP0MEM  sysgen  parameter.   This   parameter
  2365.       specifies  the  size in 1k units and the default value is 8192 which
  2366.       corresponds to 8 MB.  If you run  programs  that  need  more  memory
  2367.       space  than  this  you  can  increase the MAXP0MEM parameter up to a
  2368.       maximum of 32768 which corresponds to 32 MB.  The value of  MAXP0MEM
  2369.       limits  the  total  memory  space  available  to  each  program  and
  2370.       includes both the  640Kb  low  memory  area  and  any  EMS  and  XMS
  2371.  
  2372.       Chapter 4. Running DOS Programs                                   36
  2373.  
  2374.  
  2375.       (extended)   memory  used  by  the  program.   The  disadvantage  of
  2376.       assigning a very large number to MAXP0MEM is that some programs  use
  2377.       all  available  memory space.  With TSX's virtual memory system they
  2378.       will be allocated more memory than they actually need and  this  can
  2379.       result in excessive memory paging and poor performance.
  2380.  
  2381.       If  you  want  to allow a potentially large virtual memory space but
  2382.       limit the space to a smaller value for  a  particular  program,  you
  2383.       can  use  the  PMAN  command  to  install a program and set a MAXMEM
  2384.       value that is smaller than the global limit.   You  can  also  limit
  2385.       your  virtual  memory  space by use of the SET PROCESS command.  The
  2386.       form of this command is
  2387.  
  2388.            SET PROCESS/MAXMEM=value
  2389.  
  2390.       Where "value" is the total number of K-bytes of memory space  to  be
  2391.       made  available  to  the  program  (including  the  640Kb low memory
  2392.       region).  The maximum value specified may not exceed  the  value  of
  2393.       the MAXP0MEM sysgen parameter.
  2394.  
  2395.  
  2396.       4.12 DPMI Support
  2397.  
  2398.       TSX  supports  version  0.9  of  the  DOS  Protected  Mode Interface
  2399.       standard  including  the  Microsoft  DOS  extensions.   DPMI  is  an
  2400.       industry  standard  that allows programs to run in a DOS environment
  2401.       and use both 16-bit and protected 32-bit modes  of  operation.   TSX
  2402.       serves  as  a  DPMI  "host"  and provides the INT 31 services.  DPMI
  2403.       support is a standard part of TSX and DPMI extenders do not have  to
  2404.       be loaded to run DPMI programs under TSX.
  2405.  
  2406.  
  2407.       4.13 Phar Lap Native System Services
  2408.  
  2409.       In  addition  to  DOS, BIOS, and DPMI support, TSX also provides two
  2410.       32-bit Application Program Interfaces (API).  The first of these  is
  2411.       compatible  with the services provided by the Phar Lap DOS extender.
  2412.       These are basically the DOS INT 21 services extended to  use  32-bit
  2413.       register  values and addresses.  The Phar Lap EXP executable program
  2414.       image structure is used by TSX executable programs.  These  programs
  2415.       run  in  protected  mode  and  access a 32-bit "flat" memory address
  2416.       space.  32-bit compilers and linkers  designed  for  use  with  Phar
  2417.       Lap,  such  as  MetaWare  High C, and NDP Fortran, also run with TSX
  2418.       and produce 32-bit EXP files that run  directly  under  TSX  without
  2419.       requiring any extender products.
  2420.  
  2421.       The  "native"  API  for  TSX  provides  a 32-bit flat memory address
  2422.       space and over 200 system services designed for the  development  of
  2423.       advanced   32-bit   applications.   These  system  services  provide
  2424.       functions   such   as   "forking"   subtasks,   performing   no-wait
  2425.       asynchronous  I/O,  facility  locking, process control, and advanced
  2426.       memory management.  The full TSX-32  product  also  includes  system
  2427.       services for real-time program control.
  2428.  
  2429.       Chapter 4. Running DOS Programs                                   37
  2430.  
  2431.  
  2432.       Both  the  Phar  Lap and native TSX system service sets are provided
  2433.       in TSX-Lite.  The  native  system  services  are  described  in  the
  2434.       TSX-32  System  Services  manual.   See REGISTER.DOC for information
  2435.       about  ordering  the  Programmers  Kit  if  you  are  interested  in
  2436.       developing programs that use the TSX native system services.
  2437.  
  2438.  
  2439.  
  2440.  
  2441.  
  2442.  
  2443.                                    Chapter 5
  2444.  
  2445.                             The TSX Command Language
  2446.  
  2447.  
  2448.  
  2449.  
  2450.  
  2451.       5.1 Command Qualifiers
  2452.  
  2453.       TSX  is  a command-driven operating system.  System commands are, in
  2454.       many cases, actual programs that perform services for you.  In  some
  2455.       cases  a  "front-end" has been provided to simplify the use of these
  2456.       programs.
  2457.  
  2458.       In many cases, the names of TSX system  commands  are  the  same  as
  2459.       their  counterparts in the DOS world.  However, TSX commands usually
  2460.       have a rich supply of command "qualifiers" which extend their  power
  2461.       far  beyond DOS.  Qualifiers are keywords you may add to the command
  2462.       to fine-tune what it does.  You may add as many  qualifiers  as  you
  2463.       wish  to  a  command,  simply  separating  them with the slash ('/')
  2464.       character.
  2465.  
  2466.       For example, you are probably familiar  with  the  DOS  DIR  command
  2467.       which  displays information about the files on a disk.  In TSX there
  2468.       are (at last count) 45 qualifiers to the DIR command.   Here  are  a
  2469.       few examples:
  2470.  
  2471.         . All files sorted in name order:
  2472.  
  2473.                DIR/SORT=NAME
  2474.  
  2475.         . All files in date order, most recent first, names only:
  2476.  
  2477.                DIR/SORT=DATE/REVERSE/BRIEF
  2478.  
  2479.         . All files created since yesterday:
  2480.  
  2481.                DIR/SINCE=YESTERDAY
  2482.  
  2483.           All files created before January 1, 1993:
  2484.  
  2485.                DIR/BEFORE=1-JAN-1993
  2486.  
  2487.         . All files except those with the extension ".BAK":
  2488.  
  2489.                DIR/EXCLUDE=*.BAK
  2490.  
  2491.         . All files whose names begin with 'A' and end with 'X':
  2492.  
  2493.  
  2494.  
  2495.                                        38
  2496.  
  2497.       Chapter 5. The TSX Command Language                               39
  2498.  
  2499.  
  2500.                DIR A*X.*
  2501.  
  2502.  
  2503.       5.2 Wildcard Specifications
  2504.  
  2505.       TSX  provides  a  more  powerful form of wildcard file specification
  2506.       than DOS.  In addition to being  able  to  use  a  "*"  (match  any)
  2507.       wildcard  character  at the end of a file name, you can also use "*"
  2508.       characters within file names.  For example, the specification  "A*C"
  2509.       would  match  any file that begins with the letter 'A' and ends with
  2510.       the letter 'C'.  The pattern "*X" would match  any  file  that  ends
  2511.       with the letter 'X'.
  2512.  
  2513.       TSX   also  allows  you  to  use  wildcard  matching  characters  in
  2514.       directory names.  In addition, TSX allows you  to  use  the  special
  2515.       directory  specification "\...\" which means "and all subdirectories
  2516.       below this level." For example, the command
  2517.  
  2518.            DIR C:\...\*.*
  2519.  
  2520.       would list all files,  in  all  directories  on  the  C  disk.   The
  2521.       command
  2522.  
  2523.            SEARCH C:\WORK\...\*.C "Cappannari"
  2524.  
  2525.       would  search  for  the  string  "Cappannari"  in all files with the
  2526.       extension ".C" in the WORK directory and  all  subdirectories  below
  2527.       WORK.   The "\...\" construct is especially handy in operations like
  2528.       DIR, DELETE, COPY, SEARCH, and BACKUP.
  2529.  
  2530.  
  2531.       5.3 TSX Device Names
  2532.  
  2533.       Former DOS users are sometimes  confused  when  they  discover  that
  2534.       peripheral  devices do not always have the same names under TSX that
  2535.       they have under DOS.  This is  necessary  because  TSX  can  support
  2536.       many more devices than DOS.
  2537.  
  2538.       A  TSX  device name has the form 'ddcuuu' where 'dd' is a two letter
  2539.       device type, 'c' is a letter that designates  a  device  controller,
  2540.       or  physical  unit  in  the case of disk drives, and 'uuu' indicates
  2541.       the individual unit, or partition in the  case  of  disks.   If  the
  2542.       controller  letter  is  omitted,  it  defaults  to  'A'  (the  first
  2543.       controller); if the unit number is omitted, it defaults  to  0  (the
  2544.       first unit).
  2545.  
  2546.       The following is a table showing the various TSX device type names:
  2547.  
  2548.       Chapter 5. The TSX Command Language                               40
  2549.  
  2550.  
  2551.            Name              Device type
  2552.            ----  ---------------------------------------
  2553.             DF   Floppy disk (diskette)
  2554.             DH   Hard (fixed) disk
  2555.             DV   Virtual (RAM) disk
  2556.             LP   Printer on parallel port
  2557.             MB   Mailbox
  2558.             NL   "Null" device. (Like DOS NUL).
  2559.             TT   Terminal lines (console or COM ports).
  2560.  
  2561.       For  compatibility  with DOS, TSX also recognizes single-letter disk
  2562.       names such as 'A' and 'B' for floppies,  and  'C',  'D',  etc.   for
  2563.       fixed  disks.  For example, the primary fixed disk (drive 'C') has a
  2564.       TSX name of 'DHA0' but can also be addressed as  'C'.   The  console
  2565.       terminal  is  named  'TTA0',  the  serial port connected to COM 1 is
  2566.       'TTB0' and COM port 2 is 'TTC0'.  Device names MUST be  followed  by
  2567.       a  colon  or  they  will  be considered to be file names rather than
  2568.       device names.  For example, "NL:" is the null device and "NL"  is  a
  2569.       file named "NL".
  2570.  
  2571.       Spooled  printer  "queues" have names similar to device names.  This
  2572.       is explained in Chapter 8.3.
  2573.  
  2574.  
  2575.       5.4 Internal and External Commands
  2576.  
  2577.       The command processor for TSX is a program named  TSKMON.EXP.   Like
  2578.       COMMAND.COM  under  DOS,  TSKMON  processes many commands internally
  2579.       (such as SHOW SYSTEM) while other  commands  are  actually  programs
  2580.       that  get  run (such as DIR).  When you type a command, TSKMON first
  2581.       checks to see if it is an internal command.  If it's not, it  checks
  2582.       for  command procedures or programs with the specified name, so that
  2583.       if you type ARGLE, TSKMON searches for ARGLE.EXE, ARGLE.BAT, and  so
  2584.       forth.   To  be  precise,  a set of directories (first your current,
  2585.       then the system directory, then any  directories  specified  by  the
  2586.       search   path)  is  searched  in  order.   In  each  directory,  the
  2587.       following files would be looked for:
  2588.  
  2589.            ARGLE.CMD
  2590.            ARGLE.EXP
  2591.            ARGLE.COM
  2592.            ARGLE.EXE
  2593.            ARGLE.BAT
  2594.  
  2595.       For more information on the search path, see HELP PATH.
  2596.  
  2597.       If you are unsure what  command  TSKMON  is  actually  finding,  you
  2598.       could use the following sequence:
  2599.  
  2600.            SET LOG/FILE=X.LOG
  2601.            SET PROCESS/CMDTRACE
  2602.            ARGLE
  2603.            (TSKMON finds ARGLE)
  2604.            SET LOG/CLOSE
  2605.  
  2606.       Chapter 5. The TSX Command Language                               41
  2607.  
  2608.  
  2609.       The  SET  LOG  commands create a log file containing all output sent
  2610.       to  your  terminal  (this  is  an  example  of  the  many  debugging
  2611.       facilities  built  into  TSX  to help you analyze program behavior).
  2612.       The SET PROCESS/CMDTRACE command  tells  TSKMON  to  report  on  its
  2613.       efforts to find ARGLE.BAT, ARGLE.COM, etc.
  2614.  
  2615.  
  2616.  
  2617.  
  2618.  
  2619.  
  2620.                                    Chapter 6
  2621.  
  2622.                                 The System Menu
  2623.  
  2624.  
  2625.  
  2626.  
  2627.       TSX  comes with a menu shell which you can customize to create menus
  2628.       for yourself or  customers.   Your  TSX-Lite  system  comes  with  a
  2629.       couple  of  packaged  menus  as examples.  To access the main system
  2630.       menu, issue the command:
  2631.  
  2632.            TSXSHELL
  2633.  
  2634.       From the main menu, you can access several of  the  general  purpose
  2635.       full  screen utilities such as the help facility.  A full TSX system
  2636.       has an electronic mail option as well.
  2637.  
  2638.       A submenu for system management functions allows access to  programs
  2639.       which  customize your TSX installation.  We will describe the use of
  2640.       these programs in the chapter on system management.
  2641.  
  2642.       The TSXSHELL command invokes the  TSX  system  menu  driver  program
  2643.       called  SMD.   In  addition  to displaying TSX system menus, you can
  2644.       also use SMD to create your own menus.  The  file  SMD.DOC  contains
  2645.       instructions for creating custom menus.
  2646.  
  2647.  
  2648.  
  2649.  
  2650.  
  2651.  
  2652.  
  2653.  
  2654.  
  2655.  
  2656.  
  2657.  
  2658.  
  2659.  
  2660.  
  2661.  
  2662.  
  2663.  
  2664.  
  2665.  
  2666.  
  2667.  
  2668.  
  2669.  
  2670.  
  2671.  
  2672.                                        42
  2673.  
  2674.  
  2675.  
  2676.  
  2677.  
  2678.  
  2679.                                    Chapter 7
  2680.  
  2681.                            Symbols and Logical Names
  2682.  
  2683.  
  2684.  
  2685.  
  2686.       Symbols  and  logical  names  are  both types of shorthand notation.
  2687.       Symbols are used to define your own commands.  They  are  also  used
  2688.       for  control  purposes within command files.  Logical names are used
  2689.       to give shorthand names to devices and files.
  2690.  
  2691.  
  2692.       7.1 Defining Symbols with String Assignment Operators
  2693.  
  2694.       Using symbols you  can  define  your  own  commands.   Suppose,  for
  2695.       example,  in  moving  between  directories,  you often find yourself
  2696.       moving "up, over, and down" as in:
  2697.  
  2698.            CD ..\HERE
  2699.            CD ..\THERE
  2700.            CD ..\HERE
  2701.  
  2702.       You get tired of typing "CD ..\" and wish there was a command  "OT",
  2703.       standing  for  "Over  To",  that  did  the  same  thing.  The symbol
  2704.       assignment:
  2705.  
  2706.            OT:==CD ..\^
  2707.  
  2708.       would set up such a pseudocommand for you.  The ":==" is the  symbol
  2709.       assignment  operator  and the "^" substitutes the next word from the
  2710.       command you type, so that typing "OT THERE" is equivalent to  typing
  2711.       "CD ..\THERE".
  2712.  
  2713.       In  a multi-user environment like TSX, the system manager may decide
  2714.       to  define  some  symbols  that  apply  to  all  users,   and   some
  2715.       individuals  may  choose  to  define  their  own  symbols  and  even
  2716.       override the system-wide symbols.  To define a symbol that is to  be
  2717.       available  for  all  users use the ":===" operator (note three equal
  2718.       signs) and place the symbol definition command in your  LSTARTUP.CMD
  2719.       system-wide,  start-up  command  file.   For  example, the following
  2720.       command, when placed in LSTARTUP.CMD, will  define  a  SDIR  command
  2721.       that will produce directory listings sorted by name:
  2722.  
  2723.            SDIR:===DIR/ORDER=NAME ^
  2724.  
  2725.       If  a  user  defines  his  or  her  own  SDIR symbol using the ":=="
  2726.       operator, that symbol definition overrides  the  system-wide  symbol
  2727.       for  that  user;  it does not affect the symbol definition for other
  2728.       users.  Symbols defined using ":==" are discarded when you  log  off
  2729.  
  2730.  
  2731.                                        43
  2732.  
  2733.       Chapter 7. Symbols and Logical Names                              44
  2734.  
  2735.  
  2736.       (or  the  system  is  rebooted)  so  if  you wish to define a set of
  2737.       symbols for yourself you should put them in a command file that  can
  2738.       be  executed each time you log on.  Note: when you generate a system
  2739.       you can specify a start-up file  for  each  time-sharing  line.   An
  2740.       optional  TSX-Lite  Security Kit is available which includes a LOGON
  2741.       program to force users to enter a user name  and  password  to  gain
  2742.       access to the system.  See REGISTER.DOC for ordering information.
  2743.  
  2744.       There  is  also a ":=" operator.  This defines a local symbol within
  2745.       a command procedure.  The symbol overrides  the  definition  of  any
  2746.       user  or  system-wide symbols with the same name for the duration of
  2747.       the command procedure and then is deleted.  If the ":=" operator  is
  2748.       used outside of a command procedure it is equivalent to ":==".
  2749.  
  2750.  
  2751.       7.2 Defining Symbols with Numeric Assignment Operators
  2752.  
  2753.       The  ":=",  ":==",  and  ":==="  operators  are called string string
  2754.       assignment operators because they equate  the  symbol  name  on  the
  2755.       left  of  the  equal  sign(s) to the string on the right.  There are
  2756.       three similar operators, "=", "==", and "===" that  perform  numeric
  2757.       assignments.   These  operators function in a very similar manner to
  2758.       the string assignment operators except that they require  a  numeric
  2759.       expression  to be to the right of the equal sign.  They evaluate the
  2760.       numeric expression and assign the resulting numeric  string  to  the
  2761.       symbol.  For example, the command:
  2762.  
  2763.            COUNT = 2+3
  2764.  
  2765.       Evaluates  the  expression  "2+3"  and assigns the string "5" to the
  2766.       symbol COUNT.  The following command procedure would execute a  loop
  2767.       5  times  displaying the value of the COUNT symbol each time through
  2768.       the loop:
  2769.  
  2770.            COUNT = 1
  2771.            TOP:
  2772.            DISPLAY COUNT IS 'COUNT
  2773.            COUNT = COUNT+1
  2774.            IF COUNT <= 5 THEN GOTO TOP
  2775.  
  2776.       The apostrophe character  before  "COUNT"  in  the  DISPLAY  command
  2777.       cause  the  value  of  the  COUNT  symbol to be substituted into the
  2778.       string being displayed.
  2779.  
  2780.       In an analogous fashion to  the  symbol  assignment  operators,  "="
  2781.       defines  a  local  symbol  for a command file, "==" defines a symbol
  2782.       for the current user only, and "===" defines a system-wide symbol.
  2783.  
  2784.  
  2785.       7.3 ASSIGN Command and Logical Device Names
  2786.  
  2787.       A different method can be used to  establish  a  shorthand  notation
  2788.       for  a  device,  directory,  and  file  specification.  This is done
  2789.       using the ASSIGN command to  define  a  logical  device  name.   For
  2790.       example, after executing the command:
  2791.  
  2792.       Chapter 7. Symbols and Logical Names                              45
  2793.  
  2794.  
  2795.            ASSIGN C:\XBDRV\C_DRV\BIN\ X
  2796.  
  2797.       You  have  defined  a logical device name "X" which is equivalent to
  2798.       "C:\XBDRV\C_DRV\BIN\".  You could issue commands like:
  2799.  
  2800.            DIR X:
  2801.            COPY DATA.DAT X:
  2802.            RUN X:APOS
  2803.  
  2804.       in which case TSX replaces "X:" by "C:\XBDRV\C_DRV\BIN\".   This  is
  2805.       much easier than typing:
  2806.  
  2807.            DIR C:\XBDRV\C_DRV\BIN\
  2808.            COPY DATA.DAT C:\XBDRV\C_DRV\BIN\
  2809.            RUN C:\XBDRV\C_DRV\BIN\APOS
  2810.  
  2811.       In  this example, X: is said to be a "logical name" which equates to
  2812.       a physical device  and  directory  specification.   There  are  many
  2813.       advantages  to  the  logical name facility, as we shall begin to see
  2814.       when we discuss printing.
  2815.  
  2816.       Frequently, single letter logical names like "X:" are  used  because
  2817.       some  DOS programs only accept a single character as a drive letter.
  2818.       However, TSX allows you to define logical names that are  up  to  16
  2819.       characters  long.   The logical name "SY:" is assigned by the system
  2820.       to point to the TSX system directory (typically, \TSX32SYS).
  2821.  
  2822.       If you wish to define logical names that apply  to  all  users,  you
  2823.       can  use  the  "/SYSTEM" qualifier with the ASSIGN command and place
  2824.       the commands  in  the  LSTARTUP.CMD  system-wide,  start-up  command
  2825.       file.    For   example,   the  following  command,  when  placed  in
  2826.       LSTARTUP.CMD, will define the logical device name  "TEMP:"  for  all
  2827.       users:
  2828.  
  2829.            ASSIGN/SYSTEM C:\WORK\ TEMP
  2830.  
  2831.       Note  that  TSX logical names can specify not only a particular disk
  2832.       but a directory and  even  a  particular  file  on  the  disk.   For
  2833.       example,  the following command associates the logical name WORKFILE
  2834.       with the a particular file:
  2835.  
  2836.            ASSIGN C:\WORK\TEMP1.DAT WORKFILE
  2837.  
  2838.       Having done this, the command
  2839.  
  2840.            COPY ABC.DEF WORKFILE:
  2841.  
  2842.       will cause the  contents  of  the  file  ABC.DEF  to  be  copied  to
  2843.       C:\WORK\TEMP1.DAT.
  2844.  
  2845.       You  can  also use logical device assignments to associate a logical
  2846.       device name with a device other than a disk file.  For example,  the
  2847.       following  command  assigns the logical name LPT1 to a spooled print
  2848.       queue named PRINT:
  2849.  
  2850.       Chapter 7. Symbols and Logical Names                              46
  2851.  
  2852.  
  2853.            ASSIGN PRINT: LPT1
  2854.  
  2855.       See Section 8.2 for information about setting up print queues.
  2856.  
  2857.       In full TSX-32 with networking you can use  the  ASSIGN  command  to
  2858.       create  logical drive letters that access files on remote computers.
  2859.       For example, the following command defines a logical  device  letter
  2860.       'N'  and  associates  it  with  a disk on a networked computer whose
  2861.       node name is ADMIN:
  2862.  
  2863.            ASSIGN ADMIN::C: N
  2864.  
  2865.       More detail on  symbols  is  available  under  HELP  ASSIGNMENT  and
  2866.       there's help under ASSIGN for logical names.
  2867.  
  2868.  
  2869.  
  2870.  
  2871.  
  2872.  
  2873.                                    Chapter 8
  2874.  
  2875.                                     Printing
  2876.  
  2877.  
  2878.  
  2879.  
  2880.       The  TSX  queue management and spooling system is much more powerful
  2881.       than anything you have encountered using DOS.   In  fact,  it  is  a
  2882.       world  class system designed to manage large installations with many
  2883.       users accessing many printers.  We could easily  devote  a  document
  2884.       the  size  of the one you are reading to explaining all the features
  2885.       of printing system!
  2886.  
  2887.       Fortunately there are two pieces of good news.  First,  it's  simple
  2888.       to  do simple things.  As with all aspects of TSX, you can get going
  2889.       right away and slowly build your  knowledge  as  you  tackle  harder
  2890.       tasks.   Second,  there  is  a  helpful, friendly program named QMAN
  2891.       that you can use to set up  print  queues  and  manage  print  jobs.
  2892.       QMAN  has  extensive  on-line  help (press F1 at any point while you
  2893.       are running it to get context sensitive help).
  2894.  
  2895.  
  2896.       8.1 Spooler and Queue Manager
  2897.  
  2898.       At the heart of the printing system are  two  programs:  the  "Queue
  2899.       Manager"  (QUEMAN.EXP)  and the "Spooler" (SPOOLER.EXP).  They share
  2900.       responsibility for  managing  data  that  you  wish  to  print.   To
  2901.       understand  how  these  programs work you need to understand the two
  2902.       basic methods for printing data with TSX.
  2903.  
  2904.       The first method is called "explicit printing".  To use this  method
  2905.       issue  a  PRINT  command  to  print  a  file  that  has already been
  2906.       created.  The request to print the  file  is  passed  to  the  queue
  2907.       manager   which  holds  it  until  the  specified  printer  finishes
  2908.       printing any other file.  The queue manager than  issues  a  command
  2909.       to  the  spooler  to cause the spooler to copy data from the file to
  2910.       the  printer.   The  spooler  is  a   "detached   job"   that   runs
  2911.       independently  of  the  queue  manager  and  the job that issued the
  2912.       PRINT request so the queue manager and the original job can  perform
  2913.       other  tasks  while  the  file  is being printed by the spooler (the
  2914.       spooler can drive more than one printer at once).
  2915.  
  2916.       The second method  is  called  "implicit  printing".   To  use  this
  2917.       method  you  simply  write  data destined for a printer to a logical
  2918.       device name associated with a print queue.  The data is diverted  to
  2919.       the  spooler  program which stores it in a temporary TSX system file
  2920.       until the printer becomes available.  It then  copies  the  data  to
  2921.       the  printer  at  the rate that the printer can accept it.  If there
  2922.       is adequate space in the temporary file, the program generating  the
  2923.  
  2924.  
  2925.                                        47
  2926.  
  2927.       Chapter 8. Printing                                               48
  2928.  
  2929.  
  2930.       data  to  be  printed  can execute very quickly (since it is writing
  2931.       its output to disk) and exit before the printing  is  finished.   If
  2932.       the  spooler  temporary  file  fills  up, the program generating the
  2933.       data is suspended until the printer can  accept  data  and  free  up
  2934.       space  in  the  temporary  file.   Implicit  printing  is convenient
  2935.       because programs can write to  printers  without  having  to  create
  2936.       print files that need to be cleaned up later.
  2937.  
  2938.       As  mentioned  earlier,  the  queue manager (QUEMAN.EXP) and spooler
  2939.       (SPOOLER.EXP) programs run as  detached  jobs  which  start  running
  2940.       each  time  TSX  is initiated.  Try using the SHOW SYSTEM command to
  2941.       see that the spooler and queue manager are running.
  2942.  
  2943.       The spooler  can  simultaneously  accept  printer  output  from  any
  2944.       number  of  programs  and  ensure that each report waits its turn to
  2945.       print.   Multiple  printers  are   supported,   including   parallel
  2946.       printers,  serial  printers,  printers attached to serial terminals,
  2947.       and TSXTERM printers (TSXTERM is our terminal  emulator  to  turn  a
  2948.       DOS  PC  into  a  TSX workstation -- see Chapter 11 starting on page
  2949.       70).  The spooler usually leaves program output  untouched,  but  it
  2950.       can  insert  form  feeds to eject paper, generate header and trailer
  2951.       pages, handle margins, and so on.
  2952.  
  2953.       In addition to managing  print  jobs,  the  queue  manager  is  also
  2954.       responsible   for   overseeing   background  batch  jobs.   This  is
  2955.       explained in Section 9.3 starting on page 53.
  2956.  
  2957.       The printing system uses print "queues" (lists  of  print  jobs)  to
  2958.       ensure  orderly  printing  and direct program output to a particular
  2959.       printer.  Queues have associated "forms" which control the  form  of
  2960.       output  and "stocks" which tell TSX what type of paper is mounted in
  2961.       the printer.
  2962.  
  2963.  
  2964.       8.2 Setting Up the Printer Queues
  2965.  
  2966.       If you have a parallel printer you are in  good  shape  because  TSX
  2967.       automatically  creates  a default queue named "PRINT" and associates
  2968.       it with the printer connected to your parallel port  number  1  (TSX
  2969.       device name LPA0:).
  2970.  
  2971.       If  you  have  a  serial  printer  you  can  use the QMAN program to
  2972.       quickly modify the PRINT queue to direct it to a  serial  port.   To
  2973.       do  this,  type  "QMAN"  to start the program.  QMAN starts out in a
  2974.       browse screen showing the available queues.   One  should  be  named
  2975.       PRINT,  with  associated  device  LPA0:.   You  can alter the device
  2976.       associated with the queue by typing "M" for Modify.   A  data  entry
  2977.       screen  is  presented  which allows you to modify various aspects of
  2978.       the queue.  The device name is listed first.   Position  the  cursor
  2979.       to  this  field  and  enter  device  name  TTB0:  if  the printer is
  2980.       connected to the first COM port or TTC0:  if  it  connected  to  the
  2981.       second  COM  port.  Press ESC to exit the data entry screen, and ESC
  2982.       again to exit QMAN.
  2983.  
  2984.       Chapter 8. Printing                                               49
  2985.  
  2986.  
  2987.       We should mention at this  point  that  context  sensitive  help  is
  2988.       available  in  all  data  entry fields of QMAN (as well as the other
  2989.       full screen utilities like TSGEN) by pressing the F1 key.
  2990.  
  2991.       If your system has no parallel port at all, but does have  a  serial
  2992.       printer,  no  PRINT  queue  will  exist.   Instead of typing "M" for
  2993.       modify, type "C" to create the queue; the same data entry screen  is
  2994.       used  for  both operations, except that one extra menu specifies the
  2995.       queue type (select "Base queue").
  2996.  
  2997.       Now that we have the queue named PRINT associated  with  the  device
  2998.       to  which  your  printer  is  attached,  we  will  print a test file
  2999.       (\AUTOEXEC.BAT is on everybody's machine so we'll  use  that).   The
  3000.       command to print the file is:
  3001.  
  3002.            PRINT \AUTOEXEC.BAT
  3003.  
  3004.       If  you  have  two  or  more printers you will need to set up queues
  3005.       with distinct names.  To create a new print  queue  start  QMAN  and
  3006.       type  'C'  for create.  Then select the "Base print queue" menu item
  3007.       which will cause a data entry screen to be displayed.  The only  two
  3008.       items  that  you  must fill in are the queue name (the first item on
  3009.       the screen) and the associated device name (the second  item).   For
  3010.       example,  to  create  a  queue  named  EPSON and associate it with a
  3011.       printer attached to TTC0:, you would  specify  EPSON  as  the  queue
  3012.       name  and  TTC0:  as the device name (don't forget to put a colon at
  3013.       the end of the device name).  TSX supports any  number  of  printers
  3014.       connected to a combination of parallel and serial ports.
  3015.  
  3016.       If  you  have  more  than  one print queue you must have some way to
  3017.       designate  which  queue  printed  output  is  to  be  directed   to.
  3018.       Suppose,  for  example, that your primary print queue named PRINT is
  3019.       connected to the parallel printer and a secondary queue named  EPSON
  3020.       is  connected  to  a  serial  port  printer.   By default, the PRINT
  3021.       command sends output to the PRINT queue.  If you want to direct  the
  3022.       output  to  a  different  queue, use the /QUEUE=name qualifier.  For
  3023.       example,  the  following  command  prints  a  file  on  the  printer
  3024.       associated with the EPSON queue:
  3025.  
  3026.            PRINT/QUEUE=EPSON \AUTOEXEC.BAT
  3027.  
  3028.       The  following  command  would  cause  output written by programs to
  3029.       device LPT2 to be directed to the EPSON queue:
  3030.  
  3031.            ASSIGN EPSON: LPT2
  3032.  
  3033.       See Chapter 7 for additional information about  the  ASSIGN  command
  3034.       and logical device names.
  3035.  
  3036.  
  3037.       8.3 Printing from DOS Programs
  3038.  
  3039.       Most  DOS  programs that provide printed output allow you to specify
  3040.       the DOS device to which the  output  is  to  be  directed.   Usually
  3041.       names  such  as  LPT1  and LPT2 are two of the choices.  By default,
  3042.  
  3043.       Chapter 8. Printing                                               50
  3044.  
  3045.  
  3046.       TSX associates the DOS device name LPT1 with the queue named  PRINT.
  3047.       So  if  you  can  select  LPT1 for printer output and define a PRINT
  3048.       queue, the program should be able to write  spooled  output  to  the
  3049.       printer without further intervention.
  3050.  
  3051.       Some  DOS programs allow you to specify an arbitrary device name for
  3052.       the printer.  In this case, the best  thing  to  do  is  to  specify
  3053.       "PRINT:"  (or  some  other  TSX queue name) as the print device.  If
  3054.       you do not have the choice of specifying an arbitrary  device  name,
  3055.       you  can use a TSX ASSIGN command to associate the logical name LPT1
  3056.       with any queue you  choose.   For  example,  the  following  command
  3057.       would  cause  output written to LPT1 to be directed to a queue named
  3058.       EPSON:
  3059.  
  3060.            ASSIGN EPSON: LPT1
  3061.  
  3062.       If you wish to place this command  in  your  LSTARTUP.CMD  file,  be
  3063.       sure   to  specify  "/SYSTEM"  after  ASSIGN.   See  Chapter  7  for
  3064.       additional information about the ASSIGN command and  logical  device
  3065.       names.
  3066.  
  3067.  
  3068.       8.4 Terminal Printers
  3069.  
  3070.       In   addition  to  supporting  printers  attached  directly  to  the
  3071.       computer through  serial  and  parallel  ports,  TSX  also  supports
  3072.       printers  attached  to the auxiliary printer ports of terminals used
  3073.       as workstations  to  TSX.   This  is  convenient  in  that  you  can
  3074.       configure  a  TSX  workstation, complete with a printer, and connect
  3075.       it to the TSX system using a single  serial  cable.   This  type  of
  3076.       arrangement  is  ideal  for  point-of-sale  terminals.   The TSXTERM
  3077.       program, that  turns  a  PC  into  TSX  workstation,  also  supports
  3078.       terminal  printers  (see Chapter 11 for additional information about
  3079.       TSXTERM).
  3080.  
  3081.       TSX provides  unequaled  support  for  attached  terminal  printers.
  3082.       Programs  can  directly  access  the  printer or use a spooled print
  3083.       queue.  Furthermore, TSX allows you  to  use  the  terminal  to  run
  3084.       programs  and  display  data  at  the  same  time  that the terminal
  3085.       printer is being used.  One user can  even  print  data  on  another
  3086.       user's terminal printer.
  3087.  
  3088.       To  tell  TSX  that you have a printer attached to the terminal, you
  3089.       can issue the command:
  3090.  
  3091.            SET TERM/PRINTER
  3092.  
  3093.       This command only remains in effect until you  log  off  or  TSX  is
  3094.       restarted.   If you want to permanently notify TSX that the terminal
  3095.       has an attached printer use TSGEN and set  the  "PRINTER"  attribute
  3096.       for the appropriate serial line to 1.
  3097.  
  3098.       When  you  notify  TSX  that a terminal has an attached printer, TSX
  3099.       creates a device whose  name  matches  the  name  of  the  terminal,
  3100.       except  that the the first two characters are TP instead of TT.  For
  3101.  
  3102.       Chapter 8. Printing                                               51
  3103.  
  3104.  
  3105.       example, if the terminal  attached  to  serial  port  TTB0:  has  an
  3106.       attached  printer, the device name of the printer is TPB0:.  You can
  3107.       then use the printer device name (TPB0:  in  this  example)  as  you
  3108.       would  use  any  other  device  name.   For  example,  the following
  3109.       command would cause output written to LPT1 to be directed to TPB0:
  3110.  
  3111.            ASSIGN TPB0: LPT1
  3112.  
  3113.       You can also create a spooled print queue  to  manage  output  to  a
  3114.       terminal  printer.   To  do  this follow the same steps described in
  3115.       Section 8.2 to create a queue and specify the terminal printer  name
  3116.       as the output device.
  3117.  
  3118.  
  3119.       8.5 Advanced Features
  3120.  
  3121.       The  TSX  printing  system  has  many  additional  features that are
  3122.       beyond the scope of  this  manual.   For  example,  you  can  define
  3123.       "forms"  that  have  attributes  such as margin sizes, page headers,
  3124.       and paper stock type.  The TSX spooling  system  automatically  will
  3125.       hold print requests until the specified paper stock is mounted.
  3126.  
  3127.       You  can  also  define  "logical"  print  queues that feed into base
  3128.       queues.  Using logical queues  you  can  set  up  the  TSX  printing
  3129.       system  so  that  there is a pool of printers and print jobs will be
  3130.       printed on the first printer that becomes available.
  3131.  
  3132.  
  3133.  
  3134.  
  3135.  
  3136.  
  3137.                                    Chapter 9
  3138.  
  3139.                         Command Procedures (Batch Files)
  3140.  
  3141.  
  3142.  
  3143.  
  3144.  
  3145.       9.1 Introduction
  3146.  
  3147.       Anybody who  has  configured  an  environment  for  a  PC  involving
  3148.       multiple  programs  and  databases  has  employed ".BAT" files.  TSX
  3149.       supports these DOS command  procedures,  and  additionally  supports
  3150.       advanced  native  command  procedures  which take the form of ".CMD"
  3151.       files.  This chapter reviews features which  make  the  TSX  command
  3152.       file processor flexible and programmable.
  3153.  
  3154.       Remember,   BAT  files  and  CMD  files  are  basically  text  files
  3155.       containing collections of commands, just like the commands you  type
  3156.       at  the  prompt.   You  can  test  out  commands interactively, then
  3157.       incorporate them into command procedures  once  you  understand  how
  3158.       they work.
  3159.  
  3160.  
  3161.       9.2 Invoking Command Procedures
  3162.  
  3163.       Invoking   a   command   procedure   from   the  prompt  is  usually
  3164.       accomplished simply by typing the name of the command procedure.
  3165.  
  3166.       There are a couple of ways  you  can  get  into  trouble  by  simply
  3167.       typing  a  name, then having TSKMON go out and find the command file
  3168.       or program you specified.  First,  suppose  you  have  command  file
  3169.       ARGLE.CMD,  which makes logical name assignments, copies files, then
  3170.       runs program ARGLE.EXE.  You can get that  command  procedure  going
  3171.       by  typing  ARGLE since TSKMON looks for ARGLE.CMD before ARGLE.EXE.
  3172.       But the command procedure can't simply have an ARGLE command  within
  3173.       it, to run ARGLE.EXE because it will end up invoking itself!
  3174.  
  3175.       The  way  around  this  problem  is  to  use  the RUN command, which
  3176.       explicitly tells TSX to run the program ARGLE.  The  entire  command
  3177.       procedure might read:
  3178.  
  3179.            COPY SY:IN.DAT DATA.NEW
  3180.            ASSIGN DATA.NEW IN:
  3181.            RUN ARGLE
  3182.  
  3183.       If  you  have  multiple program files named ARGLE, such as ARGLE.COM
  3184.       and ARGLE.EXE, you can specify the extension on the RUN command.
  3185.  
  3186.  
  3187.  
  3188.  
  3189.                                        52
  3190.  
  3191.       Chapter 9. Command Procedures (Batch Files)                       53
  3192.  
  3193.  
  3194.       Another sort of problem you can get into  with  simple  commands  is
  3195.       conflict  with  internal  commands.   Suppose  you  have  a  command
  3196.       procedure named SET.CMD:
  3197.  
  3198.            ASSIGN SET.LST OUTPUT:
  3199.            RUN SETRPT
  3200.  
  3201.       You can't invoke this procedure by typing SET, even if there are  no
  3202.       other  files  named  SET!  That's because SET is an internal command
  3203.       recognized by TSKMON.  Just typing SET will do the same thing  under
  3204.       TSX  as  it  does  under DOS: provide you with a list of environment
  3205.       variables.  Just as you can explicitly use the RUN  verb  to  run  a
  3206.       program,  you  can  use the "@" character to force TSKMON to realize
  3207.       you are invoking a command procedure:
  3208.  
  3209.            @SET
  3210.  
  3211.       Again, if you have SET.BAT  and  SET.CMD,  you  should  specify  the
  3212.       extension to avoid any possible confusion.
  3213.  
  3214.       Command  procedures  can  be  called from within command procedures.
  3215.       The  EXIT  command  is  used  to  return  to  the  calling   command
  3216.       procedure.
  3217.  
  3218.       Parameters  can  be  passed to command procedures by specifying them
  3219.       as separate words on the  command  line.   Parameters  are  assigned
  3220.       symbol  names  P1  through P8 (P0 is the name of the current command
  3221.       procedure itself).
  3222.  
  3223.       Command procedures can also get run in a  different  subprocess,  as
  3224.       if  you  had  switched to another window and executed them, with the
  3225.       SUBPROCESS command.  Finally, developers with full  TSX-32  licenses
  3226.       have  access  to  system services that can invoke command procedures
  3227.       from within programs.
  3228.  
  3229.  
  3230.       9.3 Background Batch Jobs
  3231.  
  3232.       One of the nice things about a multi-tasking operating  system  like
  3233.       TSX  is  that it can run more than one job at once.  This feature is
  3234.       especially useful when combined with batch  files  because  you  can
  3235.       execute  batch  files  as "background jobs".  A background batch job
  3236.       executes commands from a batch file that is  not  connected  to  any
  3237.       terminal.   The  listing  of  the  batch file that would normally be
  3238.       displayed at a terminal is instead written to a log  file  that  has
  3239.       the same name as the batch file but the extension ".LOG".
  3240.  
  3241.       The  BATCH command is used to initiate a batch job.  For example, if
  3242.       you had created a batch file  named  WORK.CMD  the  following  would
  3243.       start its execution as a background batch job:
  3244.  
  3245.            BATCH WORK
  3246.  
  3247.       If  you do not specify an extension with the file name for the BATCH
  3248.       command, TSX first looks for a file with the  extension  ".CMD"  and
  3249.  
  3250.       Chapter 9. Command Procedures (Batch Files)                       54
  3251.  
  3252.  
  3253.       if  no  such  file  exists  it  then tries to open the file with the
  3254.       extension ".BAT".
  3255.  
  3256.       When you issue a BATCH command  the  designated  batch  file  begins
  3257.       execution.   You  can  run  other programs or queue additional batch
  3258.       jobs while the batch job is running.  To  check  on  the  status  of
  3259.       executing  and  pending  batch  jobs  use  the BATCH command without
  3260.       specifying a file name.  For example, the  following  command  would
  3261.       display a list of all pending and executing batch jobs:
  3262.  
  3263.            BATCH
  3264.  
  3265.       By  default  TSX  does not notify you that a batch job has finished.
  3266.       However, you can request that  a  notification  message  printed  by
  3267.       using the "/NOTIFY" qualifier with the batch command.  For example,
  3268.  
  3269.            BATCH/NOTIFY WORK
  3270.  
  3271.       If  you  would  like  to have notification turned on by default, use
  3272.       QMAN to modify the BATCH queue (select  the  BATCH  queue  and  type
  3273.       'M') and specify 'Y' for the NOTIFY attribute of the queue.
  3274.  
  3275.       Screen  output  from  programs running as batch jobs is written to a
  3276.       file with the same name as  the  batch  command  file  but  with  an
  3277.       extension  of ".LOG".  You can specify a different name by using the
  3278.       "/LOGFILE=file" qualifier with the BATCH command.
  3279.  
  3280.       If you are submitting a long running batch job you may wish to  have
  3281.       it  execute  at  a  lower priority than interactive programs.  To do
  3282.       this, use the "/RUNPRIORITY=value" qualifier on the  BATCH  command.
  3283.       The  priority  value may be in the range 1 to 127 with higher values
  3284.       taking priority over  lower  values.   The  normal  interactive  job
  3285.       priority  is determined by the PRIDEF sysgen parameter whose default
  3286.       value is 50.  You can also use QMAN to  set  the  default  execution
  3287.       priority  for  jobs  submitted  to a batch queue.  To do this, start
  3288.       QMAN, select the batch queue, type "M" for Modify, and set  a  value
  3289.       for the RUNPRIORITY parameter.
  3290.  
  3291.  
  3292.       9.4 Branching: Labels and GOTO
  3293.  
  3294.       Like  BAT  files, CMD files support labels, but the preferred syntax
  3295.       is a  little  different.   In  TSX,  the  label  name  comes  first,
  3296.       followed  by  the colon (the way it is specified in most programming
  3297.       languages).  You transfer control to a label with the GOTO  command.
  3298.       Labels don't have to be the only thing on a line:
  3299.  
  3300.            TOP:ECHO WE ARE AT THE TOP
  3301.            RUN PROG1
  3302.            GOTO TOP
  3303.  
  3304.       Chapter 9. Command Procedures (Batch Files)                       55
  3305.  
  3306.  
  3307.       9.5 Symbols and Operators
  3308.  
  3309.       The  symbol  facility  described  previously  is used extensively in
  3310.       command procedures.  For example the INQUIRE command reads  keyboard
  3311.       input  and  creates  the  symbol  named.   You  can  use  the symbol
  3312.       substitution operator, apostrophe, to substitute a  symbol  for  its
  3313.       value in any command line.  For example:
  3314.  
  3315.            INQUIRE SYMA "Give me a word"
  3316.            DISPLAY SYMA is equal to 'SYMA'
  3317.  
  3318.       TSX  supports  numeric  symbols  as  well as string symbols.  The IF
  3319.       command has a complete set of operators to deal with both  types  of
  3320.       symbols.   You  can  also  use  numeric  operators in numeric symbol
  3321.       assignments:
  3322.  
  3323.            IF 'FILE' .EQS. "DATA.OUT" THEN PRINT 'FILE'
  3324.            COUNTER = 'COUNTER' + 1
  3325.            DISPLAY 'COUNTER'
  3326.  
  3327.       More information can be found under HELP IF and HELP Assignment.
  3328.  
  3329.  
  3330.       9.6 Conditionals: IF
  3331.  
  3332.       Commands can be conditionally executed by using the IF command.   An
  3333.       example:
  3334.  
  3335.            IF FILE .NES. "JUNK.DAT" THEN PRINT 'FILE'
  3336.  
  3337.       You  can combine the IF and GOTO constructs to conditionally execute
  3338.       entire sections of commands:
  3339.  
  3340.            IF LETTER .EQS. "A" THEN GOTO ADD
  3341.            IF LETTER .EQS. "E" THEN GOTO EXIT
  3342.            ECHO Invalid response, aborting.
  3343.            EXIT
  3344.  
  3345.            ADD:
  3346.              RUN ADD
  3347.              PRINT ADD.OUT
  3348.              EXIT
  3349.            EXIT:
  3350.              ECHO Goodbye
  3351.              EXIT
  3352.  
  3353.  
  3354.       9.7 User Interaction: DISPLAY and INQUIRE
  3355.  
  3356.       The DISPLAY command can be used to  display  strings  to  the  user.
  3357.       ECHO is a synonym for DISPLAY.
  3358.  
  3359.       INQUIRE  is  used  to get keyboard input from the user.  The command
  3360.       procedure shown above must have made use of INQUIRE  to  define  the
  3361.       symbol LETTER:
  3362.  
  3363.       Chapter 9. Command Procedures (Batch Files)                       56
  3364.  
  3365.  
  3366.            TOP:
  3367.            INQUIRE LETTER Enter E for EXIT, A for ADD:
  3368.            IF LETTER .EQS. "A" THEN GOTO ADD
  3369.            IF LETTER .EQS. "E" THEN GOTO EXIT
  3370.             .
  3371.             .
  3372.             .
  3373.  
  3374.  
  3375.       9.8 Seeing Commands
  3376.  
  3377.       The  VERIFY  setting  for your job controls whether you see commands
  3378.       as they are executed or not.  The commands
  3379.  
  3380.            SET VERIFY
  3381.            SET NOVERIFY
  3382.  
  3383.       control the current verify setting.  The DOS style ECHO ON and  ECHO
  3384.       OFF are also supported.
  3385.  
  3386.  
  3387.       9.9 Expression Operators
  3388.  
  3389.       A  number  of  operators  are  available  for  use  in  the  command
  3390.       language.  In comparisons and logical  operations  the  value  1  is
  3391.       returned for true and 0 for false.
  3392.  
  3393.       9.9.1 Numeric Operators
  3394.  
  3395.              +   Addition           -   Subtraction
  3396.              *   Multiplication     /   Division
  3397.  
  3398.       9.9.2 String Operators
  3399.  
  3400.              string1 // string2   Concatenate string2 to string1
  3401.              string[start:end]    Substring from position 'start' to 'end'
  3402.  
  3403.       9.9.3 Numeric Comparison
  3404.  
  3405.              .EQ.   Equal                   .NE.   Not equal
  3406.              .LT.   Less than               .GT.   Greater than
  3407.              .LE.   Less than or equal      .GE.   Greater than or equal
  3408.  
  3409.       9.9.4 String Comparions
  3410.  
  3411.       The following string comparisons are not case sensitive
  3412.  
  3413.              .EQS.   Equal                   .NES.   Not equal
  3414.              .LTS.   Less than               .GTS.   Greater than
  3415.              .LES.   Less than or equal      .GES.   Greater than or equal
  3416.  
  3417.       Chapter 9. Command Procedures (Batch Files)                       57
  3418.  
  3419.  
  3420.       9.9.5 Logical Operators
  3421.  
  3422.              .AND.  Logical AND
  3423.              .OR.   Logical OR
  3424.              .NOT.  Logical negation
  3425.  
  3426.  
  3427.       9.10 Lexical Functions
  3428.  
  3429.       Lexical  functions  may  be used in commands to perform a variety of
  3430.       functions involving strings and files.  All lexical  function  names
  3431.       start  with  a  dollar sign and have parenthesis enclosing arguments
  3432.       to the function.  The following is a simple example  that  uses  the
  3433.       $DATE  function  to  insert  the  current  date  into a string being
  3434.       printed.
  3435.  
  3436.            DISPLAY The date is $DATE()
  3437.  
  3438.       Full documentation of lexical functions is available by typing  HELP
  3439.       LEXICAL.  The following is a summary list of the lexical functions.
  3440.  
  3441.       $CHAR(value)  --  Generates a single ASCII character whose character
  3442.           code value is equal to the numeric argument.
  3443.  
  3444.       $CLOSE(channel) -- Close the specified I/O channel.   Use  $OPEN  or
  3445.           $CREATE to open a channel.
  3446.  
  3447.       channel  =  $CREATE(filespec)  --  Create  a new file.  The returned
  3448.           value of the function is an I/O channel number that may be  used
  3449.           with $WRITE and $CLOSE functions.
  3450.  
  3451.       $CWD() -- Return the current working directory specification.
  3452.  
  3453.       $DATE([format])  --  Return  the current date in the form "month dd,
  3454.           yyyy".  The optional "format" string can be used to  obtain  the
  3455.           date  in  other  styles.  The following operators may be used in
  3456.           the format string:
  3457.  
  3458.                Date operator           Information returned
  3459.                -------------  ------------------------------------------
  3460.                    %a         The abbreviated weekday name (Sun)
  3461.                    %A         The full weekday name (Sunday)
  3462.                    %b         The abbreviated month name (Dec)
  3463.                    %B         The full month name (December)
  3464.                    %c         The date and time (Dec 02 06:55:19 1979)
  3465.                    %d         The day of the month (02)
  3466.                    %j         The day of the year (335)
  3467.                    %m         The month of the year (12)
  3468.                    %w         The weekday number, from 0 for Sunday (0)
  3469.                    %x         The date (Dec 02 1979)
  3470.                    %y         The year of the century (79)
  3471.                    %Y         The year (1979)
  3472.  
  3473.           The $DATE function will also process any of  the  time  oriented
  3474.           format operators supported by the $TIME lexical function.
  3475.  
  3476.       Chapter 9. Command Procedures (Batch Files)                       58
  3477.  
  3478.  
  3479.       $ELEMENT(index,delimiter,stringlist)  --  Extract  the  string whose
  3480.           occurrence number  is  specified  by  'index'  from  the  string
  3481.           specified  by 'stringlist'.  The 'delimiter' parameter specifies
  3482.           the character that separates occurrences of the string.
  3483.  
  3484.       $EVAL(expression) -- Evaluate the expression and return its result.
  3485.  
  3486.       $EXISTS(filespec) -- Return 1 (true) if the specified  file  exists;
  3487.           return 0 (false) if the file does not exist.
  3488.  
  3489.       $FILMRG(file1[,file2])  --  Merge  together  two file specifications
  3490.           replacing any missing portions of 'file1' by  the  corresponding
  3491.           portion from 'file2'.
  3492.  
  3493.       $FILPRS(filespec,item)  --  Parse  (decompose)  a file specification
  3494.           into its component parts.  The values that may be specified  for
  3495.           'item'  are  NODE  (network  node  name),  DEVICE (device name),
  3496.           DIRECTORY  (directory  specification),  NAME  (file  name),  and
  3497.           EXTENSION (file extension).
  3498.  
  3499.       $HEX(value)   --   Convert   a   numeric  value  to  its  equivalent
  3500.           hexadecimal representation in the form "0Xnnnn".
  3501.  
  3502.       $ICHAR(string) -- Return a numeric value corresponding to the  ASCII
  3503.           character code of the first character in 'string'.
  3504.  
  3505.       $INSERT(string1,string2,position)    --    Insert   'string2'   into
  3506.           'string1' in  front  of  the  character  position  specified  by
  3507.           'position'.
  3508.  
  3509.       $ISALNUM(string)  -- Return 1 if all of the characters in the string
  3510.           are letters or numbers; otherwise return 0.
  3511.  
  3512.       $ISALPHA(string) -- Returns 1  if  all  of  the  characters  in  the
  3513.           string  are  letters (either upper or lower case).  Otherwise it
  3514.           returns 0.
  3515.  
  3516.       $ISCNTRL(string) -- Returns 1  if  all  of  the  characters  in  the
  3517.           string  have ASCII character code values in the range 0 to 31 or
  3518.           255.  Otherwise it returns 0.
  3519.  
  3520.       $ISDEF(string) -- 'string' should be a quoted string.  The  function
  3521.           returns  1  if  a symbol with this name is defined; otherwise it
  3522.           returns 0.
  3523.  
  3524.       $ISDIGIT(string) -- Returns 1  if  all  of  the  characters  in  the
  3525.           string are digits.  Otherwise it returns 0.
  3526.  
  3527.       $ISGRAPH(string)  --  Returns  1  if  all  of  the characters in the
  3528.           string are printable characters other than space.  Otherwise  it
  3529.           returns 0.
  3530.  
  3531.       $ISLOWER(string)  --  Returns  1  if  all  of  the characters in the
  3532.           string are lower case letters.  Otherwise it returns 0.
  3533.  
  3534.       Chapter 9. Command Procedures (Batch Files)                       59
  3535.  
  3536.  
  3537.       $ISPRINT(string) -- Returns 1  if  all  of  the  characters  in  the
  3538.           string  are  printable characters including the space character.
  3539.           Otherwise it returns 0.
  3540.  
  3541.       $ISPUNCT(string) -- Returns 1  if  all  of  the  characters  in  the
  3542.           string  are  printable  characters other than space, letters, or
  3543.           digits.  Otherwise it returns 0.
  3544.  
  3545.       $ISSPACE(string) -- Returns 1  if  all  of  the  characters  in  the
  3546.           string  are  either  space, form feed, newline, carriage return,
  3547.           tab, or vertical tab.  Otherwise it returns 0.
  3548.  
  3549.       $ISUPPER(string) -- Returns 1  if  all  of  the  characters  in  the
  3550.           string are upper case letters.  Otherwise it returns 0.
  3551.  
  3552.       $ISXDIGIT(string)  --  Returns  1  if  all  of the characters in the
  3553.           string are valid hexadecimal digits.  Otherwise it returns 0.
  3554.  
  3555.       $JOBINFO(item[,jobnumber]) -- The $JOBINFO lexical function  returns
  3556.           information  about  a  TSX-32 job.  Say HELP LEXICAL for further
  3557.           information.
  3558.  
  3559.       $LENGTH(expression)  --  Determines  the  number  of  characters  in
  3560.           'expression'.
  3561.  
  3562.       $LOCATE(substr,expression)  --  Locates the starting position of the
  3563.           first occurrence of the 'substr' substring within 'expression'.
  3564.  
  3565.       $LOGICAL(name)  --  Translate  a  logical   device   name   to   the
  3566.           corresponding  physical  device  and  directory  to which it has
  3567.           been assigned.
  3568.  
  3569.       $MESSAGE(status) -- Return the status message  that  corresponds  to
  3570.           the TSX error status code specified by 'status'.
  3571.  
  3572.       $MOD(value1,value2) -- Computes 'value1' modulo 'value2'.
  3573.  
  3574.       channel  =  $OPEN(filespec) -- Opens an existing file and returns an
  3575.           I/O channel number as the result.  The  channel  number  can  be
  3576.           used  with  $READ and $CLOSE functions.  The value 0 is returned
  3577.           if the file cannot be opened and the $CMDSTATUS  symbol  is  set
  3578.           to the error code.  Use $CREATE to make a new file.
  3579.  
  3580.       $PRIVILEGE(privname[,mode])  --  Returns  1  if  the  user  has  the
  3581.           specified  privilege;  otherwise  returns  0.   The   'privname'
  3582.           argument  indicates  which  privilege item is to be tested.  The
  3583.           'mode' argument may be "AUTHORIZED", "CURRENT",  or  "SET"  with
  3584.           "SET" being the default.
  3585.  
  3586.       record  =  $READ(channel)  --  Read  the next record from a file and
  3587.           return the record as the result of the function.
  3588.  
  3589.       $REPEAT(string,count) -- Replicate 'string' 'count' times.
  3590.  
  3591.       Chapter 9. Command Procedures (Batch Files)                       60
  3592.  
  3593.  
  3594.       $SEEK(channel,position)  --  Set  the  current  record  pointer   to
  3595.           'position' on a specified channel.
  3596.  
  3597.       $SEV(status)  --  Accepts  an  error status code as its argument and
  3598.           returns a value indicating  the  severity  of  the  error.   The
  3599.           following   values   are   returned:   0=success   (no   error);
  3600.           1=information message; 2=warning; 3=error; 4=severe error.
  3601.  
  3602.       $STRCMP(string1,string2) -- Performs a case sensitive comparison  of
  3603.           'string1'  with 'string2' based on the ASCII collating sequence.
  3604.           The result of the function is  -1  if  'string1'  is  less  than
  3605.           'string2',  0  if  'string1'  is  equal  to  'string2', and 1 if
  3606.           'string1' is greater than 'string2'.
  3607.  
  3608.       $STRIP(str1,str2) -- Remove from  'str1'  all  characters  that  are
  3609.           found in 'str2'.
  3610.  
  3611.       $STRLWR(expression)  --  Convert  all upper case characters to lower
  3612.           case.
  3613.  
  3614.       $STRUPR(expression) -- Convert all lower case  characters  to  upper
  3615.           case.
  3616.  
  3617.       $SYSINFO(item)  -- Returns information about the TSX-32 system.  The
  3618.           item  argument  is  a  string  that  selects   which   item   of
  3619.           information  is  to  be returned.  Type HELP LEXICAL for further
  3620.           information
  3621.  
  3622.       $TIME([format]) -- Return the current time in the  form  "hh:mm:ss".
  3623.           The  optional 'format' string can be used to produce the time in
  3624.           a different format.  The following operators can be used in  the
  3625.           format:
  3626.  
  3627.                Time operator                Information returned
  3628.                -------------     -----------------------------------------
  3629.                    %c            the date and time (Dec 02 06:55:19 1979)
  3630.                    %H            the hour of the 24 hour day (06)
  3631.                    %I            the hour of the 12 hour day (06)
  3632.                    %M            the minutes after the hour (55)
  3633.                    %S            the seconds after the minute (15)
  3634.                    %X            the time (06:55:15)
  3635.                    %t            the thousands of a second (357)
  3636.  
  3637.       $TRANSLATE(str1,str2,str3)  -- Each character in 'str1' is examined.
  3638.           If it matches any character in 'str2' the  character  in  'str3'
  3639.           which  is  at  the  same  position in the string as the matching
  3640.           character in 'str2' is placed back into the string.
  3641.  
  3642.       $TRIM(string) -- Removes trailing spaces from the string.
  3643.  
  3644.       $USER() -- Returns the user name of the current job.
  3645.  
  3646.       $VALIDATE(str1,str2) --  Returns  the  index  number  of  the  first
  3647.           character  in  'str1'  that  is  not  in  'str2'.  If all of the
  3648.  
  3649.       Chapter 9. Command Procedures (Batch Files)                       61
  3650.  
  3651.  
  3652.           characters in 'str1' are  found  in  'str2',  0  (zero)  is  the
  3653.           result of the function.
  3654.  
  3655.       stream  =  $WLDBGN(filespec)  --  Initiate a wildcard file scan with
  3656.           'filespec' as the wildcard pattern and return a "stream"  number
  3657.           than can be used with $WLDNXT and $WLDEND functions.
  3658.  
  3659.       $WLDEND(stream)  --  Terminate  a  wildcard  operation  and free the
  3660.           stream.
  3661.  
  3662.       name = $WLDNXT(stream) -- Get the next file name  that  matches  the
  3663.           pattern  specified  by  the  $WLDBGN  function  that started the
  3664.           stream.  Null is returned if there are no more matching names.
  3665.  
  3666.       $WRITE(channel,string) -- Write 'string' to the channel opened to  a
  3667.           file.
  3668.  
  3669.  
  3670.  
  3671.  
  3672.  
  3673.  
  3674.                                    Chapter 10
  3675.  
  3676.                               Multiuser Computing
  3677.  
  3678.  
  3679.  
  3680.  
  3681.       TSX  makes  it possible for several users to share the same computer
  3682.       at the same time.  And, each user can control up to 10 sessions  and
  3683.       execute  background  batch  jobs.   In  this  chapter  we  introduce
  3684.       various  aspects  of  TSX-Lite  that  relate  specifically  to   its
  3685.       multi-user and multi-tasking support.
  3686.  
  3687.  
  3688.       10.1 Workstations
  3689.  
  3690.       A  minimal TSX workstation consists of a keyboard and display device
  3691.       that allows an individual to use the computer.  A variety  of  types
  3692.       are supported.
  3693.  
  3694.       Both  MDA  (monochrome)  and  VGA  (mono  and  color)  adapters  and
  3695.       monitors can be used.  TSX also supports the Tseng  4000  super  VGA
  3696.       modes.   Hercules  graphics  for MDA and all 16 regular VGA graphics
  3697.       modes are supported.  CGA graphic adapters are not supported by  TSX
  3698.       although the CGA graphic modes may be used with VGA adapters.
  3699.  
  3700.       The  most  common  type of serial terminal used by TSX is the PCTERM
  3701.       terminal such as the Wyse 60.  If you have  a  PCTERM  terminal  you
  3702.       must  specify the terminal type to TSGEN (described later) before it
  3703.       will  work.   PCTERM  terminals  have  25  line  screens,  PC  style
  3704.       keyboards,  and  send  make and break codes (the same hardware codes
  3705.       sent to the  system  by  the  console  keyboard)  instead  of  ASCII
  3706.       characters.   They  connect  to  the  computer  through serial lines
  3707.       (i.e., COM ports).
  3708.  
  3709.       A more powerful  variation  of  the  PCTERM  terminal  supported  by
  3710.       TSX-Lite  is  made by RelAmerica.  Advanced escape sequences, color,
  3711.       and  built-in  support  for  TSX-32  make  these  units  well  worth
  3712.       considering.
  3713.  
  3714.       TSX  supports  ANSI  standard  terminals (i.e., TERMTYPE=ANSI).  The
  3715.       "ANSI" TSX  terminal  type  is  a  subset  of  VT-100.   DEC  VT-100
  3716.       terminals  have  attributes  such  as  scrolling regions and graphic
  3717.       character sets that  are  not  implemented  by  most  ANSI  terminal
  3718.       emulators.   You should use the ANSI terminal type when running with
  3719.       ANSI terminals or emulator programs that do  not  provide  the  full
  3720.       VT-100 control sequence emulation.
  3721.  
  3722.  
  3723.  
  3724.  
  3725.  
  3726.                                        62
  3727.  
  3728.       Chapter 10. Multiuser Computing                                   63
  3729.  
  3730.  
  3731.       DEC  ANSI  terminals such as the DEC VT100, 200, 300, and 400 series
  3732.       are also supported by  TSX.   See  HELP  SET  TERMINAL  for  a  full
  3733.       listing of the terminal types supported.
  3734.  
  3735.       The  TSX-Lite  product  also includes TSXTERM, our terminal emulator
  3736.       for PC's running DOS.  See Chapter 11,  starting  on  page  70,  for
  3737.       additional information about TSXTERM.
  3738.  
  3739.       The  full TSX-32 system also supports multi-console adapters.  These
  3740.       are the fastest, most DOS compatible types of workstations, and  the
  3741.       only   way   to   do   multi-user   graphics   with  a  single  CPU.
  3742.       Multi-console adapters allow multiple VGA monitors to  be  connected
  3743.       to  the  same computer running TSX-32.  Using multi-console adapters
  3744.       it is possible to have  many  users  efficiently  running  text  and
  3745.       graphic applications on the same TSX-32 system.
  3746.  
  3747.       TSX-32  also  allows  users to log in over ethernet from another TSX
  3748.       network node, Telnet connections, additional foreign terminals,  and
  3749.       the ability to write custom foreign terminal handlers.
  3750.  
  3751.       For  multi-user  access  to  TSX-Lite  you will need to use a serial
  3752.       terminal or a PC running TSXTERM.  Connecting the terminal  to  your
  3753.       COM  port  is mostly a matter of cabling.  See Section 2.6, starting
  3754.       on page 13, for information about connecting a  serial  terminal  to
  3755.       TSX-Lite.
  3756.  
  3757.       Pressing  Enter  (or  Return) should initiate a job on the terminal.
  3758.       The user at the terminal  and  the  user  at  the  console  are  now
  3759.       sharing  the computer system.  Both can simultaneously run programs,
  3760.       manage files, print output, and so  forth.   Welcome  to  multi-user
  3761.       computing!   The  patented  scheduling  algorithm  in  TSX  makes it
  3762.       practical to support dozens of terminals on  a  single  386  or  486
  3763.       computer  system.   Compared  to  LAN  networks,  this  can  be more
  3764.       economical by orders of magnitude, and you can  access  the  compute
  3765.       remotely over phone lines.
  3766.  
  3767.  
  3768.       10.2 Commands for the Multiuser Environment
  3769.  
  3770.       10.2.1 BATCH Command
  3771.  
  3772.       The  BATCH command starts execution of background batch jobs.  These
  3773.       jobs run without terminal interaction and  are  excellent  for  long
  3774.       running  programs.   The  form of the command used to initiate a new
  3775.       job is:
  3776.  
  3777.            BATCH file_name
  3778.  
  3779.       Where "file_name" is the name of the  command  or  BAT  file  to  be
  3780.       executed.   For  example,  the following command starts execution of
  3781.       "POVRUN.BAT" as a batch job:
  3782.  
  3783.            BATCH POVRUN.BAT
  3784.  
  3785.       Chapter 10. Multiuser Computing                                   64
  3786.  
  3787.  
  3788.       If you do not specify an extension with the file name for the  BATCH
  3789.       command,  TSX  first  looks for a file with the extension ".CMD" and
  3790.       if no such file exists it then tries  to  open  the  file  with  the
  3791.       extension ".BAT".
  3792.  
  3793.       Typing   "BATCH"  without  specifying  a  file  name  causes  status
  3794.       information about running and pending batch jobs  to  be  displayed.
  3795.       You  can  use  the  "/NOTIFY"  qualifier  to  cause  a message to be
  3796.       displayed at your terminal when the batch job completes.   The  QMAN
  3797.       program  can  also  be  used to display information about batch jobs
  3798.       and/or set parameters for batch jobs and queues.   See  Section  9.3
  3799.       on page 53 for additional information about batch jobs.
  3800.  
  3801.       Screen  output  from  programs running as batch jobs is written to a
  3802.       file with the same name as  the  batch  command  file  but  with  an
  3803.       extension  of ".LOG".  You can specify a different name by using the
  3804.       "/LOGFILE=file" qualifier.
  3805.  
  3806.       10.2.2 SHOW Commands
  3807.  
  3808.       TSX has a number of "SHOW" commands  to  display  information  about
  3809.       the  status  of  the  system.   The SHOW SYSTEM command displays the
  3810.       active jobs on the system.  Each task you control from the  console,
  3811.       and  each task the user at the COM port controls, is a separate job.
  3812.       Detached jobs such as the spooler and queue manager  are  also  jobs
  3813.       as  are  background  batch  jobs you submit.  Other commands you may
  3814.       want to try are JMAN, TMAN, SHOW USE, SHOW CACHE, SHOW  PAGING,  and
  3815.       SHOW MEMORY.
  3816.  
  3817.       10.2.3 STOP Command
  3818.  
  3819.       Normally  jobs initiate login by pressing Enter and log off with the
  3820.       LOGOFF (or OFF, or BYE) command.  However, you  can  "kill"  another
  3821.       job with a command exemplified by:
  3822.  
  3823.            STOP/ID=23
  3824.  
  3825.       The  actual  id value of the job is displayed by SHOW SYSTEM.  There
  3826.       are variants of the STOP command; see HELP STOP  for  details.   You
  3827.       can  also use the JMAN command to display a list of the current jobs
  3828.       and to stop jobs.
  3829.  
  3830.       10.2.4 SEND Command
  3831.  
  3832.       You can send a message to a user  on  another  line  with  the  SEND
  3833.       command.  An example:
  3834.  
  3835.            SEND/TERM=TTB0: "Hey, who are you using my modem?"
  3836.  
  3837.       Again, variants of the command are available; see HELP SEND.
  3838.  
  3839.       Chapter 10. Multiuser Computing                                   65
  3840.  
  3841.  
  3842.       10.2.5 PHONE Command
  3843.  
  3844.       If  you  wish  to  carry on an interactive conversation with another
  3845.       TSX user, you can call them by using the PHONE  command.   The  form
  3846.       of this command is:
  3847.  
  3848.            PHONE terminal_name
  3849.  
  3850.       where  you  should substitute an actual terminal device name such as
  3851.       TTB0 for terminal_name.  When you PHONE another user  a  message  is
  3852.       displayed  at  the  other user's terminal saying that they are being
  3853.       phoned.  The other user answers the phone call by typing "PHONE"  as
  3854.       a  command  without  specifying  a  terminal_name.   Either user can
  3855.       terminate the phone connection by pressing control-backslash.
  3856.  
  3857.       10.2.6 TUTOR Command
  3858.  
  3859.       Application developers and VARS who are contemplating using  TSX  as
  3860.       an  application  platform  will be pleased by the remote support and
  3861.       diagnosis capabilities of the TUTOR command.  TUTOR  allows  a  user
  3862.       to  "tutor" another terminal.  This synchronizes the two screens and
  3863.       keyboards so that you can see what  your  software  is  doing,  bail
  3864.       users  out  of tight spots, guide customers through the application,
  3865.       and so forth.  Any time  sharing  line  can  TUTOR  any  other  time
  3866.       sharing  line.   You  can  dial  into  a remote system and TUTOR the
  3867.       console from a modem  connected  to  a  TSXTERM  terminal,  tutor  a
  3868.       hardwired  VT100  from  a  hardwired  PCTERM terminal, and so forth.
  3869.       Multiple TUTOR connections  can  be  established  to  allow  you  to
  3870.       conduct  a  class  with  all  student  screens  synchronized  to the
  3871.       teacher.  To tutor another line, use the command
  3872.  
  3873.            TUTOR terminal_name
  3874.  
  3875.       where you should substitute an actual terminal device name  such  as
  3876.       TTB0  for  terminal_name.   Type  control-backslash to terminate the
  3877.       tutor session.
  3878.  
  3879.  
  3880.       10.3 Virtual Memory
  3881.  
  3882.       TSX is a full virtual memory, demand paging operating system.   This
  3883.       means  that  your  programs  can  access  large amounts of memory --
  3884.       potentially  more  than  the  physical  memory  installed  on   your
  3885.       computer.   This  feature is especially beneficial for modern 32-bit
  3886.       programs  which  can  be  many  megabytes  in  size  without   using
  3887.       overlays.
  3888.  
  3889.       Until   recently,   virtual   memory  operating  systems  were  only
  3890.       available on main-frame and super-mini computers such  as  the  VAX.
  3891.       Virtual  memory  is  especially  important  for  multi-user  systems
  3892.       because it allows many users to be running  large  programs  at  the
  3893.       same time.
  3894.  
  3895.       In  order  to  appreciate  how  virtual memory works it necessary to
  3896.       understand a few terms.  The "virtual  memory  space"  available  to
  3897.  
  3898.       Chapter 10. Multiuser Computing                                   66
  3899.  
  3900.  
  3901.       your  job  is  the area of memory that it may access.  Under DOS the
  3902.       directly  accessible  virtual  memory  space  is  limited  to  640Kb
  3903.       although  EMS  and  XMS  provide a means to access additional memory
  3904.       through the 640Kb area.  Under TSX,  32-bit  programs  can  directly
  3905.       access  a  virtual  memory  space of many megabytes.  This makes 386
  3906.       and 486 computers as powerful as VAX's for running large  scientific
  3907.       and commercial applications.
  3908.  
  3909.       The  SET  PROCESS/MAXMEM=size command is used to control the maximum
  3910.       amount of virtual memory space available to the job.
  3911.  
  3912.       When a program is running, all of its virtual memory  space  is  not
  3913.       necessarily  stored  in  physical  memory  (that is why it is called
  3914.       "virtual").  The hardware and  operating  system  work  together  to
  3915.       manage  the  virtual memory space and keep track of where the memory
  3916.       for a job is located.  Unlike the 8088 and 80286 computers, the  386
  3917.       and   486   processors   were  designed  to  handle  virtual  memory
  3918.       efficiently.
  3919.  
  3920.       The  CPU  organizes  memory  space  into  4,096  byte  units  called
  3921.       "pages".   The  set  of  pages  that  are  directly  accessible by a
  3922.       program at any instant of time is called the "working set"  for  the
  3923.       program.   Your virtual memory space may be larger than your working
  3924.       set.  Memory pages that are part of your virtual  memory  space  but
  3925.       not  in your working set may be located either in physical memory or
  3926.       in the system page file.  An attempt to access a memory  page  which
  3927.       is  not  in  your  working  set  causes a "page fault".  Despite its
  3928.       name, a page fault is not an error but rather  denotes  the  process
  3929.       that  TSX performs to add a memory page to your working set.  If the
  3930.       maximum allowed number of pages are in your working set when a  page
  3931.       fault  occurs,  the  oldest  entry  in the working set is removed to
  3932.       make room for the entry being added.  Page  faults  are  transparent
  3933.       to your application program -- they do not affect its operation.
  3934.  
  3935.       This  system of keeping only the most recently accessed pages in the
  3936.       working set works well because many programs contain  sections  that
  3937.       are  only  accessed  infrequently.   For  example, a word processing
  3938.       program may have an initialization portion  that  is  only  executed
  3939.       once  and  another  part  that is only used while actively printing.
  3940.       The pages that are not active are not part of the  working  set  and
  3941.       can be used by other programs.
  3942.  
  3943.       When  two or more users are running the same 32-bit program (such as
  3944.       the TSX command processor), only one copy of the  program  needs  to
  3945.       reside  in  memory.   TSX  "maps"  the virtual memory space for each
  3946.       user running that program to the common program image.   Only  local
  3947.       data cells used by the program need to be duplicated for each user.
  3948.  
  3949.       Normally,  TSX  performs automatic working set size adjustment based
  3950.       on the page fault rate.  If the number of  page  faults  per  second
  3951.       exceeds  the  value of the "WSDAUPRATE" sysgen parameter the working
  3952.       set  size  is  expanded  by  the  size  of  the  "WSDAUPAMT"  sysgen
  3953.       parameter.   If  the page fault rate is less than the "WSDADOWNRATE"
  3954.       sysgen parameter then the working set size is reduced by  the  value
  3955.       of   the  "WSDADOWNAMT"  sysgen  parameter.   You  can  disable  the
  3956.  
  3957.       Chapter 10. Multiuser Computing                                   67
  3958.  
  3959.  
  3960.       automatic  working  set  adjustment  process   by   specifying   the
  3961.       /NOADJUST  qualifier  with  the SET WORKING_SET command.  If this is
  3962.       done, the working set size is held at the maximum  value.   Use  the
  3963.       /ADJUST   qualifier   to   reenable   automatic   working  set  size
  3964.       adjustment.  This method TSX uses for managing  virtual  memory  and
  3965.       working  sets is state of the art and works well under varying loads
  3966.       with very little tuning.
  3967.  
  3968.       The SHOW MEMORY command displays  information  about  memory  space.
  3969.       The  SHOW  PAGING  command  displays page fault statistics.  You may
  3970.       type control-T at any time  to  display  your  current  working  set
  3971.       size.
  3972.  
  3973.  
  3974.       10.4 Data Caching
  3975.  
  3976.       TSX  performs  extensive data caching to optimize I/O to disk files.
  3977.       A "data cache" is an  area  of  system  memory  set  aside  to  hold
  3978.       recently  accessed  blocks  of  data  from  disk  files.  The system
  3979.       manager sets  the  size  of  the  data  cache  when  the  system  is
  3980.       generated  by use of the CSHSIZE sysgen parameter.  Each time a read
  3981.       operation is  performed  to  a  disk,  TSX  checks  to  see  if  the
  3982.       requested  data  is  stored  in the cache.  If so, the data is moved
  3983.       directly from the cache area and no I/O is performed.  If  the  data
  3984.       is  not  in the cache, the data is read from disk and stored in both
  3985.       the read buffer and the data cache.  When a write is done to a  disk
  3986.       file,  the  data  is updated in the data cache but is not written to
  3987.       disk until the file is closed,  a  system  service  is  executed  to
  3988.       flush  cache  data  to  disk,  or  a  sysgen-specified  time  period
  3989.       elapses.  When the data cache becomes full, the oldest  data  blocks
  3990.       in  the  cache are displaced to make room for more recently accessed
  3991.       data.
  3992.  
  3993.       The data caching system also attempts  to  "read  ahead"  data  from
  3994.       files   being  accessed  sequentially  so  that  the  data  will  be
  3995.       available in the cache by the time that the program requests it.
  3996.  
  3997.       In addition to data caching, TSX also has a separate cache  of  file
  3998.       directory  entries.  When you open a file TSX searches its directory
  3999.       cache and, if a file entry is found, the open is  completed  without
  4000.       having to perform any I/O operations.
  4001.  
  4002.       The   SHOW   CACHE   command   displays   statistics  about  caching
  4003.       operations.
  4004.  
  4005.  
  4006.       10.5 Logon Access Control
  4007.  
  4008.       TSX-Lite provides a "system password" feature that  you  can  enable
  4009.       for  dial-in lines.  When enabled, the caller is required to enter a
  4010.       password to gain access  to  the  system.   See  Section  2.6.2  for
  4011.       information about enabling the system password feature.
  4012.  
  4013.       An  optional  TSX-Lite  Security  Kit  is available to provide logon
  4014.       access control The Security Kit  includes  the  LOGON,  TSAUTH,  and
  4015.  
  4016.       Chapter 10. Multiuser Computing                                   68
  4017.  
  4018.  
  4019.       FPROTECT  programs.   The  TSAUTH program is used to manage the user
  4020.       authorization database.  The LOGON program is run from line  startup
  4021.       command  procedures  to  require  username  and passwords to log in.
  4022.       Accounts can be be customized by  granting  or  denying  privileges,
  4023.       resource  quotas, and given logon command procedures which lock them
  4024.       to an application.  The FPROTECT program allows the  system  manager
  4025.       to  limit access to disks, subdirectories, and individual files on a
  4026.       user-by-user  basis.   Users  can   be   given   read,   write,   or
  4027.       execute-only access to files.
  4028.  
  4029.  
  4030.       10.6 Event Logs
  4031.  
  4032.       An  "Event  Log"  is  an  ordered  set  of records describing events
  4033.       occuring within TSX or application programs.  Event  logs  are  most
  4034.       commonly  used  to  record  recently  occuring  events  so that if a
  4035.       problem occurs in the program generating the event log, a record  of
  4036.       recent  actions  is  available for examination.  However, event logs
  4037.       are not limited to diagnostic applications.
  4038.  
  4039.       An important use of event  logs  is  to  record  errors  or  unusual
  4040.       events  that  are  detected  by  TSX.   These  event logs are called
  4041.       "error logs".  You  can  check  to  see  if  any  errors  have  been
  4042.       detected  by  issuing  the SHOW ERRORS command.  If any of the error
  4043.       logs has some records, you may want to use the SHOW  EVENTS  command
  4044.       to examine the nature of the errors.
  4045.  
  4046.       The  SHOW  EVENTS  command is the primary command for displaying and
  4047.       controlling event logs.  When you  issue  this  command,  the  first
  4048.       screen  will  list  each event log file that is currently in use and
  4049.       show the number of records in it.  To  display  the  records  in  an
  4050.       event  log,  use  the  arrow  keys  to  highlight  the  event log of
  4051.       interest and then press Enter.  The display will  show  the  records
  4052.       in  the  event log and will be updated as new records are written to
  4053.       it.  Type Esc to return from the display screen to the main  screen;
  4054.       type  Esc  again  to  exit from SHOW EVENTS.  Type 'C' from the main
  4055.       screen to control which event logs are active.
  4056.  
  4057.  
  4058.       10.7 NetBIOS Support
  4059.  
  4060.       TSX supports the NetBIOS system services for establishing  sessions,
  4061.       sending  and  receiving  data  messages and datagrams.  This support
  4062.       allows cooperating programs running as separate jobs  under  TSX  to
  4063.       communicate  just  as  if  they were running on a network.  TSX also
  4064.       supports the NetBIOS services for file sharing and  record  locking.
  4065.       NetBIOS  support is a standard feature of TSX, so you do not have to
  4066.       install or  purchase  any  additional  software.   The  TSX  NetBIOS
  4067.       support  provides communication between cooperating programs running
  4068.       on the same TSX system.  It  does  not  support  networking  between
  4069.       separate   systems.    The  full  TSX-32  system  has  TCP/IP  based
  4070.       networking for communication between systems.
  4071.  
  4072.       Some DOS programs only do record locking for shared  data  files  if
  4073.       they  are  told  that the data files are on networked disks.  On the
  4074.  
  4075.       Chapter 10. Multiuser Computing                                   69
  4076.  
  4077.  
  4078.       other  hand,  some  DOS  programs  will  not  run  in  a   networked
  4079.       environment.   To  allow  the  use  of programs that need to be told
  4080.       they are in a networked environment, as well as those that will  not
  4081.       run  in a networked environment, an attribute may be associated with
  4082.       the program using the PMAN command to  control  which  programs  are
  4083.       told that they are running in a networked environment.
  4084.  
  4085.       If  PMAN  is used to install a program is with the DOSNET attribute,
  4086.       it will be told that all of its files are on networked devices.   If
  4087.       this  attribute  is  not  specified,  the  values  of the DOSNETFLAG
  4088.       sysgen parameter is checked.  If the value  is  1,  the  program  is
  4089.       told  that it is running in a networked environment; if the value is
  4090.       0, the program is told that it is not in  a  networked  environment.
  4091.       The default value for the DOSNETFLAG sysgen parameter is 0.
  4092.  
  4093.       If  your  software  can be installed for single user or network use,
  4094.       select the network option; this will  ensure  that  the  application
  4095.       allows two users to simultaneously access the same database.
  4096.  
  4097.  
  4098.       10.8 Mailboxes and Shared Memory Regions
  4099.  
  4100.       In  addition  to  the NetBIOS services, TSX also provides a facility
  4101.       called   "mailboxes"   for   exchanging   data   between   programs.
  4102.       Basically,  a mailbox is a logical device that functions as a "pipe"
  4103.       to store and transport data from one program to  another.   See  the
  4104.       TSX-32 User's Manual for additional information about mailboxes.
  4105.  
  4106.       Groups  of  32-bit  application programs can communicate efficiently
  4107.       by use of shared memory regions.  This concept allows  two  or  more
  4108.       programs  to  share the same area of memory so that data stored into
  4109.       it by one program is visible by all of the programs  in  the  group.
  4110.       This  is  especially  useful  for  real-time  applications.  See the
  4111.       TSX-32 System  Services  Manual  for  additional  information  about
  4112.       shared memory regions.
  4113.  
  4114.  
  4115.  
  4116.  
  4117.  
  4118.  
  4119.                                    Chapter 11
  4120.  
  4121.                                     TSXTERM
  4122.  
  4123.  
  4124.  
  4125.  
  4126.       If  you  have  another  computer available (even an old 8088 system)
  4127.       you can use it as a TSX workstation.  To do this you  will  need  to
  4128.       install  the  TSXTERM  terminal  emulator program on the workstation
  4129.       computer.   TSXTERM  is  provided   as   part   of   your   TSX-Lite
  4130.       distribution and is described in this chapter.
  4131.  
  4132.       TSXTERM  turns  any  PC  into one of the nicest workstations you can
  4133.       use with TSX.  The main reason for this is DOS  compatibility.   The
  4134.       TSXTERM  workstation  uses  a real DOS keyboard so the function keys
  4135.       and ALT, Shift, and Ctrl keys work just as they do  with  DOS.   The
  4136.       screen display also provides the full PC display character set.
  4137.  
  4138.  
  4139.       11.1 Installing TSXTERM
  4140.  
  4141.       To  install  TSXTERM,  create  a  directory  named  \TSXTERM  on the
  4142.       workstation computer and copy the TSXTERM.EXE file from  the  system
  4143.       directory  of  your  TSX-Lite  computer  (TSX32SYS)  to the \TSXTERM
  4144.       directory on the workstation computer.
  4145.  
  4146.  
  4147.       11.2 Using TSXTERM
  4148.  
  4149.       TSXTERM can  access  a  TSX-32  system  either  through  a  directly
  4150.       connected  serial  line  or  through a modem.  If you use a modem, a
  4151.       built in dialing directory  is  provided  to  automate  the  calling
  4152.       process  and, if the host system uses security, the logon process as
  4153.       well.
  4154.  
  4155.       Once you are connected, TSXTERM turns your PC into a DOS  compatible
  4156.       workstation  for accessing the TSX-32 system.  TSXTERM provides full
  4157.       color support, CGA graphics, enables use of  your  PC  printer,  and
  4158.       includes  file  transfers to and from the PC.  When you are finished
  4159.       using the TSX-32 system, you exit TSXTERM  and  return  to  the  DOS
  4160.       prompt to run other applications on your PC.
  4161.  
  4162.  
  4163.       11.3 Control Screens
  4164.  
  4165.       TSXTERM  is  controlled  by  single  letter  commands which are only
  4166.       recognized in conjunction with  a  set  of  shift  keys  called  the
  4167.       "wakeup  key  sequence".   Normally the wakeup key sequence consists
  4168.       of simultaneously pressing left control and  left  shift  while  you
  4169.  
  4170.  
  4171.                                        70
  4172.  
  4173.       Chapter 11. TSXTERM                                               71
  4174.  
  4175.  
  4176.       press  a  function  letter.  A summary of these commands is provided
  4177.       when you first start TSXTERM, and can be recalled  by  pressing  the
  4178.       wakeup keys and "H" for help.
  4179.  
  4180.  
  4181.       11.4 Configuring TSXTERM
  4182.  
  4183.       The  first  time  you  invoke  TSXTERM  it  will enter a setup menu.
  4184.       TSXTERM  is  configured  using  a  series  of  field  entry  screens
  4185.       selected  from  this  menu.  Your configuration, which is saved in a
  4186.       disk file named TSXTERM.INI, can be changed at any time by  pressing
  4187.       the wakeup keys, and S for setup.
  4188.  
  4189.       The  first time you use TSXTERM, you should enter the communications
  4190.       screen and specify the COM port and baud rate you wish to use.
  4191.  
  4192.       Next, enter the  "Customizations"  setup  screen.   It  contains  an
  4193.       importatnt  setting  which determines whether TSXTERM will initially
  4194.       operate in ASCII or TSXTERM mode.
  4195.  
  4196.       In "ASCII  MODE",  TSXTERM  emulates  an  ANSI  terminal,  but  this
  4197.       emulation  is  only  provided  to the extent necessary to log into a
  4198.       TSX system.  TSXTERM mode  is  the  normal  operating  mode  of  the
  4199.       program.   In  this  mode  the  program  emulates an advanced PCTERM
  4200.       terminal.
  4201.  
  4202.       Select ASCII mode unless you are  using  TSXTERM  with  a  hardwired
  4203.       connection  that will only be used for a TSXTERM connection.  In the
  4204.       case of a dedicated, hard-wired connection, select TSXTERM mode  and
  4205.       specify  TSXTERM  as  the  terminal type using TSGEN as described in
  4206.       Section 2.6.2 on page 14.
  4207.  
  4208.       When using TSXTERM in ASCII mode you can either manually type  modem
  4209.       commands  ("ATDT...",  etc.)  or  you  can  use  the TSXTERM dialing
  4210.       directory to connect to the host system running TSX.  Once you  have
  4211.       connected  and  logged  on  (entering  any password and user name if
  4212.       required), you should issue the following TSX command to shift  into
  4213.       TSXTERM mode:
  4214.  
  4215.            SET TERM/TYPE=TSXTERM
  4216.  
  4217.       If  you  purchase  the  optional  TSX-Lite  Security Kit and use the
  4218.       LOGON program with dial-in phone  lines,  then  you  should  specify
  4219.       your  user  name  and  password  in  the  TSXTERM dialing directory.
  4220.       TSXTERM will then connect to the host and  automatically  enter  the
  4221.       logon  information.   It  will also automatically shift into TSXTERM
  4222.       mode so that you do not need to enter the SET TERM command.
  4223.  
  4224.       You can also use the customization setup screen to change  the  keys
  4225.       which  wake  up  TSXTERM  to command mode.  The author, for example,
  4226.       prefers left ALT by itself.  Whatever keys  you  choose,  make  sure
  4227.       your  selection will not conflict with key combinations used by your
  4228.       applications.
  4229.  
  4230.       Chapter 11. TSXTERM                                               72
  4231.  
  4232.  
  4233.       The "Use dialing directory" field controls  whether  TSXTERM  starts
  4234.       out in the dialing directory screen or goes directly on-line.
  4235.  
  4236.  
  4237.       11.5 Using Modem Connections
  4238.  
  4239.       If  you  want to use TSXTERM to access the TSX system using a modem,
  4240.       you will probably want to select "Y" in the "start  in  phone  book"
  4241.       field  of  the  customization  field.   This causes TSXTERM to begin
  4242.       each session by presenting you with your phone directory.   You  can
  4243.       enter  the  dialing  directory  at  any  time by typing "D" with the
  4244.       wakeup keys.
  4245.  
  4246.       The first time you enter the dialing directory, you should type  "A"
  4247.       to  add  a  new  entry.   Fill  in  the name and phone number of the
  4248.       computer running TSX.  If the TSX system uses  logon  security,  you
  4249.       should  also  enter  the  username and password for the account into
  4250.       the dialing directory.  A field is  also  provided  for  the  system
  4251.       password  if  it  is  in  use  at the site.  You should also specify
  4252.       whether the dial-in line for the computer has been  permanently  set
  4253.       to TSXTERM terminal type.
  4254.  
  4255.       Other  fields  of the address book entry are optional.  The PORT and
  4256.       BAUD fields can be used to override  the  configuration  information
  4257.       if  multiple  COM  ports  on  the  PC  are connected to multiple TSX
  4258.       systems.  The  Internet  Address  field  is  used  to  access  fully
  4259.       licensed  TSX-32  systems over ethernet.  The note field is for your
  4260.       own informational notes.   The  tag  field  is  used  when  invoking
  4261.       TSXTERM  from  a .BAT file to ask it to immediately begin connecting
  4262.       to the specified entry.  For example, to connect to an  entry  whose
  4263.       tag is CUST23, you would use:
  4264.  
  4265.            TSXTERM C=CUST23
  4266.  
  4267.       Press  ESC  to  save  the  changes  and add the entry to the dialing
  4268.       directory.  You can edit the address  book  entry  at  any  time  by
  4269.       highlighting it and pressing "E".
  4270.  
  4271.       To  connect  to  a  computer,  highlight  the  entry  and  type "C".
  4272.       TSXTERM will dial the modem, wait for a connection, and then log  in
  4273.       using  any  username  and password you have specified in the address
  4274.       book.
  4275.  
  4276.  
  4277.       11.6 Using Direct Connections
  4278.  
  4279.       You can still use the dialing directory of TSXTERM for a hard  wired
  4280.       connection  if  you  want  TSXSTERM to enter a username and password
  4281.       for you.  If the logon program is not used, or if you want  to  type
  4282.       the  username  and  password  yourself, select "N" for the "start in
  4283.       phone book" setup field.  TSXTERM will pause when it  first  starts,
  4284.       then  immediately  enter  terminal  emulation  mode when you press a
  4285.       key.
  4286.  
  4287.       Chapter 11. TSXTERM                                               73
  4288.  
  4289.  
  4290.       11.7 Printer Support
  4291.  
  4292.       TSX supports printers attached to TSXTERM terminals in the same  way
  4293.       as  printers  attached  to  serial terminals.  See Section 8.4, page
  4294.       50, for a  description  of  terminal  printers.   To  configure  the
  4295.       TSXTERM  attached  printer, select the printer screen from the setup
  4296.       menu and specify  the  port  (parallel  or  serial)  to  which  your
  4297.       printer  is  connected.   If  the  printer  is serial, you must also
  4298.       specify the baud rate.
  4299.  
  4300.  
  4301.       11.8 Background File Transfer
  4302.  
  4303.       One  of  the  powerful  features  of  TSXTERM  is   the   integrated
  4304.       background  file  transfer.   This  means file transfers are done in
  4305.       the background while you  continue  to  use  the  host  TSX  system.
  4306.       Suppose,   for   example,  you  have  a  data  file  which  must  be
  4307.       manipulated by a program running under DOS  on  your  PC.   You  can
  4308.       download  the  data  in  background mode while you continue your TSX
  4309.       based work.  Just type "F" in conjunction with the  wakeup  keys  to
  4310.       activate the file transfer pop-up window, and issue a command like:
  4311.  
  4312.            GET DATA.NOW
  4313.  
  4314.       When  your data file has been transferred, exit TSXTERM and run your
  4315.       DOS application.  Rerun TSXTERM to upload your  modified  data  back
  4316.       to  the  "file server" TSX system using a SEND command from the file
  4317.       transfer window.
  4318.  
  4319.       The file transfers can be initiated by the TSX  system  as  well  as
  4320.       the  DOS  based PC using the WSCMD command; see Section 14.137, page
  4321.       164.  This allows file  transfers  to  be  integrated  into  command
  4322.       procedures  so  that  field  personnel of a service organization can
  4323.       (and do) upload daily reports without even knowing how.
  4324.  
  4325.       Command line options also allow TSXTERM to be  run  from  BAT  files
  4326.       under  DOS.   One, "C", calls the specified dialing directory entry.
  4327.       "S" and "R" are used to send and receive files.  Type TSXTERM ?   to
  4328.       see a full list.
  4329.  
  4330.  
  4331.       11.9 Session Logging
  4332.  
  4333.       You  can  create  a log file on your PC documenting your TSX session
  4334.       using the TSXTERM session logging  feature.   Type  the  letter  "L"
  4335.       with the wakeup keys to activate the logging pop-up window.
  4336.  
  4337.  
  4338.  
  4339.  
  4340.  
  4341.  
  4342.                                    Chapter 12
  4343.  
  4344.                                System Management
  4345.  
  4346.  
  4347.  
  4348.  
  4349.       One  of  the  things  that  distinguishes  TSX from other multi-user
  4350.       systems is ease of management.  Even systems with  dozens  of  users
  4351.       do  not  require  that  anybody  sacrifice  hours per week being the
  4352.       "system manager".   The  operating  system  mostly  manages  itself.
  4353.       However,  TSX provides a large number of options that you can use to
  4354.       customize and tune for best performance.
  4355.  
  4356.  
  4357.       12.1 Overview of System Startup
  4358.  
  4359.       Before we plunge into any  management  details  let's  get  a  broad
  4360.       picture  of what happens between the time that you type RUNTSX under
  4361.       DOS and log in your first interactive session under TSX.
  4362.  
  4363.       The primary purpose of the RUNTSX program is to read  the  TSX32.SYS
  4364.       file,  which  contains the executable code for the operating system,
  4365.       into  high  memory,  switch  your  processor  from  "real  mode"  to
  4366.       "protected mode", and jump into the TSX code.
  4367.  
  4368.       Next  it  begins  execution  of  the  "startup  job"  which performs
  4369.       various  startup  functions,  then  logs  off.   It  does  this   by
  4370.       executing the command procedure STARTUP.CMD.
  4371.  
  4372.  
  4373.       12.2 Startup Command Files
  4374.  
  4375.       The  first  thing  that  STARTUP.CMD does is to run a program called
  4376.       MAKELOAD which  uses  the  system  option  settings  to  generate  a
  4377.       secondary  command  procedure called TSXLOAD.CMD.  Executing TSXLOAD
  4378.       is the second  job  of  the  startup  procedure.   TSXLOAD  contains
  4379.       commands  to load terminal support handlers for TSXTERM, PCTERM, and
  4380.       Relisys terminals.  TSXLOAD  also  starts  detached  jobs  like  the
  4381.       spooler and queue manager for the printing system.
  4382.  
  4383.       The  next  step  is to execute the INSTALL.CMD command procedure, if
  4384.       it exists.  This command procedure, which is created for you by  the
  4385.       program  manager  utility  PMAN,  customizes  the  way  TSX  handles
  4386.       various software packages you have on your system.  Section 2.5  and
  4387.       Chapter  4 discuss many attributes that can be set when a program is
  4388.       installed using PMAN.
  4389.  
  4390.       Next  the  startup  job   executes   a   command   procedure   named
  4391.       LSTARTUP.CMD,  for  "local startup" functions.  This is the file you
  4392.  
  4393.  
  4394.                                        74
  4395.  
  4396.       Chapter 12. System Management                                     75
  4397.  
  4398.  
  4399.       can edit to place system wide logical names and symbols.  This  file
  4400.       is analogous to the DOS AUTOEXEC.BAT file.
  4401.  
  4402.       Finally   the   startup  job  executes  a  command  procedure  named
  4403.       PROTECT.CMD.   This  procedure  establishes  file   protection   and
  4404.       shadowing.  It is managed using the FMAN program.
  4405.  
  4406.  
  4407.       12.3 System Customization
  4408.  
  4409.       12.3.1 Line Startup Procedures
  4410.  
  4411.       Each  time  sharing  line  (the  console being one, the serial lines
  4412.       being others) has an associated startup command  procedure  that  is
  4413.       executed  each  time  the  line is initialized.  If you log off of a
  4414.       line (by use of the OFF command) the startup  command  procedure  is
  4415.       executed  when  you  press  Enter  to log on again.  By default, all
  4416.       lines execute the same command procedure  named  SY:START.CMD.   You
  4417.       are  welcome  to  edit  START.CMD.   You  can  also  change the line
  4418.       parameters to specify a different startup  command  for  each  line.
  4419.       See  Section 2.6.2 for information about setting a different startup
  4420.       command file.
  4421.  
  4422.       If you have purchased the TSX-Lite Security Kit,  you  may  want  to
  4423.       run  the  LOGON  program  to  force  users  to enter a user name and
  4424.       password to gain  access  to  the  system.   To  do  this  edit  the
  4425.       START.CMD file and insert the following command:
  4426.  
  4427.            R LOGON
  4428.  
  4429.       The  TSAUTH  program  that  is  part  of the Security Kit is used to
  4430.       manage the list of authorized users.   TSAUTH  also  allows  you  to
  4431.       specify  a  secondary  start-up  command  procedure that is executed
  4432.       when a user logs on; this command procedure is  based  on  the  user
  4433.       name.   For  example,  user  GEORGE  may  have the following command
  4434.       procedure:
  4435.  
  4436.            ECHO Hello George, just a moment
  4437.            RUN MAKEDISK
  4438.            ECHO Thanks George, bye.
  4439.            LOGOFF
  4440.  
  4441.       The only thing that George needs  the  computer  for  is  to  run  a
  4442.       program  that  makes  software  distribution  disks for his company.
  4443.       However, user SHANNON manages the office  and  wants  to  start  out
  4444.       running  the  office  management  menu.  Her login command procedure
  4445.       has:
  4446.  
  4447.            CD C:\OFFICE
  4448.            RUN OMENU
  4449.  
  4450.       Note that you can have different  startup  command  files  for  each
  4451.       line  so  you can have dial-in modem lines run LOGON but not require
  4452.       this for the console.
  4453.  
  4454.       Chapter 12. System Management                                     76
  4455.  
  4456.  
  4457.       12.3.2 User Authorization
  4458.  
  4459.       The program TSAUTH (which is part of the TSX-Lite Security  Kit)  is
  4460.       used  to  manage  the  authorized  users.  TSAUTH creates a database
  4461.       named SY:TSXUAF.TSX containing the list of usernames which  can  log
  4462.       into  the  system.   TSAUTH  can  be  run from the command prompt or
  4463.       accessed from the system management menu.
  4464.  
  4465.       TSAUTH is a self explanatory, user friendly program.  After you  run
  4466.       it,  start  out  by typing "C" to make a copy of the default record.
  4467.       This enters a data  entry  screen  which  is  used  to  specify  all
  4468.       attributes of the new user such as their name and password.
  4469.  
  4470.       Note  that  you  edit  the  default  record  to  match  your typical
  4471.       authorized user to make the authorization process more convenient.
  4472.  
  4473.       It is up to you, as the system manager, to create the login  command
  4474.       procedure  for  the  user.   You  may  want  to  create  a  separate
  4475.       directory for each user and place a CD command in their  login  file
  4476.       to  start them out in their home directory.  Since the login command
  4477.       procedure simply contains commands which are executed when they  log
  4478.       in,  they can customize their own environment (with symbols, logical
  4479.       names, running programs, and so on) by editing their  login  command
  4480.       file.
  4481.  
  4482.       You  also  use  TSAUTH  to limit use of system resources such as the
  4483.       maximum memory space that can be used.  There are an  extensive  set
  4484.       of  privileges  which specify what types of functions you will allow
  4485.       each user to perform.  If you do not use the login  mechanism,  each
  4486.       user has full privileges.
  4487.  
  4488.       12.3.3 System Wide Settings
  4489.  
  4490.       So  far  we  have discussed customizations based on individual users
  4491.       or individual lines.  System wide customizations are placed  in  the
  4492.       LSTARTUP.CMD  command  procedure.   Here  you  can  specify  a  PATH
  4493.       command to replace or augment the search path specified  under  DOS.
  4494.       When  defining  a  system-wide  path,  you should use a "SET/SYSTEM"
  4495.       command rather than a PATH command which defines a search  path  for
  4496.       the  current  job only.  The following is an example of a command to
  4497.       set up a system-wide search path:
  4498.  
  4499.            SET/SYSTEM PATH C:\TSX32SYS;C:\WATCOM
  4500.  
  4501.       You may also wish to place some ASSIGN commands in the  LSTARTUP.CMD
  4502.       file  to define some logical device names for the entire system.  Be
  4503.       sure  to  use  the  /SYSTEM  qualifier  to  make   the   assignments
  4504.       system-wide.  Here are some examples:
  4505.  
  4506.            ASSIGN/SYSTEM C:\INVOICES\CURRENT\ CURINV:
  4507.            ASSIGN/SYSTEM EPSON: LPT2:
  4508.  
  4509.       Either  of  these  commands can be overridden for a specific user by
  4510.       use of an  ASSIGN  command  without  the  /SYSTEM  qualifier.   User
  4511.       specific   ASSIGN  commands  can  be  placed  in  the  startup  file
  4512.  
  4513.       Chapter 12. System Management                                     77
  4514.  
  4515.  
  4516.       associated with the line or  the  user  name  (assuming  TSAUTH  and
  4517.       LOGON  are  used).   Debi  could  redirect  printer  output  to  the
  4518.       terminal printer attached to her terminal with:
  4519.  
  4520.            ASSIGN DEBI: LPT2:
  4521.  
  4522.       Similarly  you  can  establish  system  wide  symbols   to   provide
  4523.       shorthand notations for all your users:
  4524.  
  4525.            TOCUR :=== CD C:\INVOICES\CURRENT\
  4526.            INSPECT :=== E32/BORDER/READONLY
  4527.  
  4528.       The  three  equals  signs  denote  system-wide  symbols which can be
  4529.       overridden by personal symbols specified with two equals signs.
  4530.  
  4531.  
  4532.       12.4 System Tuning
  4533.  
  4534.       12.4.1 Introduction
  4535.  
  4536.       While there are hundreds of tuning parameters you can specify  using
  4537.       TSGEN,   most   of   them   are  only  used  in  highly  specialized
  4538.       circumstances.  Feel free to browse the tuning parameters  and  read
  4539.       help  screens  to get a feel for the ability of the operating system
  4540.       to adapt to different needs.  Fully  supported  customers  have  the
  4541.       benefit  of  S&H  Technical  Support  to  guide  them to the correct
  4542.       parameter if a program does not run correctly or the system  is  not
  4543.       running  at  peak  performance.  We will draw special attention to a
  4544.       few of the most critical tuning parameters here.   See  Section  2.4
  4545.       on page 9 for information about using the TSGEN program.
  4546.  
  4547.       12.4.2 CSHSIZE: Cache size
  4548.  
  4549.       Under  Data  Caching  Parameters,  CSHSIZE  controls  the  amount of
  4550.       memory that's allocated for a system cache.   If  you  only  have  4
  4551.       megabytes  of  memory  you should probably leave this at the default
  4552.       of 1000 512 byte blocks (half a megabyte).  In  fact,  if  the  SHOW
  4553.       MEMORY  command  says  there  is  less  than 800K available for user
  4554.       jobs, you may want to decrease  the  cache  size  to  free  up  more
  4555.       memory  for running programs.  But if you have more than 4 megabytes
  4556.       of memory you should use about 25%  of  your  memory  for  a  cache.
  4557.       Example:  on  an  8  meg system use 2 megs.  1 meg = 2000 blocks, so
  4558.       set CSHSIZE to 4000.  See Section  10.4,  page  67,  for  additional
  4559.       information about data caching.
  4560.  
  4561.       12.4.3 VMAXJOBS: Job limit
  4562.  
  4563.       Under  Job  Limit  Parameters, VMAXJOBS controls the total number of
  4564.       jobs allowed on your system.  Each process window and each  detached
  4565.       job  (Spooler, Queue Manager, Window Print, and batch jobs) count as
  4566.       a separate job.  The default value of 12 can  usually  be  decreased
  4567.       somewhat  for  a  single user system.  The benefit is that memory is
  4568.       freed up for other uses as VMAXJOBS is decreased.
  4569.  
  4570.       Chapter 12. System Management                                     78
  4571.  
  4572.  
  4573.       12.4.4 DOWINPRT: Window Print
  4574.  
  4575.       Under Optional System  Components,  DOWINPRT  controls  whether  the
  4576.       window  print  process  is detached when the system boots.  Set this
  4577.       to 1 if you want the Print Screen key to be active or 0  if  you  do
  4578.       not  use  this feature.  See Section 14.83, page 142, for additional
  4579.       information about screen printing.
  4580.  
  4581.       12.4.5 DOQUEUES: Queue Manager and Spooler
  4582.  
  4583.       Under Optional System Components, you can set DOQUEUES to 0  if  you
  4584.       do  not  use  batch  jobs,  print jobs, or require spooled output to
  4585.       printers.   Allowing  programs  direct  access  to  the  printer  is
  4586.       advisable  only on a single user system, and will cause your program
  4587.       to pause  until  printing  is  completed,  whereas  spooling  allows
  4588.       multiple  users  to  simultaneously use the same printer and accepts
  4589.       data, allowing the program to continue running, before the  data  is
  4590.       actually printer.
  4591.  
  4592.       12.4.6 MAXP0MEM: Maximum Memory Space
  4593.  
  4594.       The  maximum  virtual  memory  space  available  to  each program is
  4595.       controlled  by  the  MAXP0MEM  sysgen  parameter.   This   parameter
  4596.       specifies  the  size in 1k units and the default value is 8192 which
  4597.       corresponds to 8 MB.  If you run  programs  that  need  more  memory
  4598.       space  than  this  you  can  increase the MAXP0MEM parameter up to a
  4599.       maximum of 32768 which corresponds to 32 MB.  The value of  MAXP0MEM
  4600.       limits  the  total  memory  space  available  to  each  program  and
  4601.       includes both the  640Kb  low  memory  area  and  any  EMS  and  XMS
  4602.       (extended)   memory  used  by  the  program.   The  disadvantage  of
  4603.       assigning a very large number to MAXP0MEM is that some programs  use
  4604.       all  available  memory space.  With TSX's virtual memory system they
  4605.       will be allocated more memory than they actually need and  this  can
  4606.       result in excessive memory paging and poor performance.
  4607.  
  4608.       12.4.7 PGFILSIZ: Page File Size
  4609.  
  4610.       Under  System  Memory Parameters, PGFILSIZ controls the number of 4K
  4611.       pages which can be stored in the  system  page  file,  PAGEFILE.TSX.
  4612.       The  page  file  is  used  to implement virtual memory: memory pages
  4613.       which can not fit into the working set for  the  job  (the  physical
  4614.       memory  in  use) are written to the page file.  Increase this if you
  4615.       must run memory intensive programs that cause the page file to  fill
  4616.       up.   Decrease  this  if you only run modest programs and don't want
  4617.       disk space wasted by the page file.  The  SHOW  PAGE  command  (also
  4618.       available  from  the  system commands menus) displays various paging
  4619.       statistics, including how much of the page file has been used.
  4620.  
  4621.       12.4.8 POOLSIZEN: System Pool Space
  4622.  
  4623.       Under  Pool  Space  Parameters,  POOLSIZEN  determines  the  initial
  4624.       allocation  of system memory pool space.  The pool is memory used by
  4625.       TSX while it is running.  If TSX runs out  of  pool  space  it  will
  4626.       crash.   However,  if  your system runs for a long time and the SHOW
  4627.       MEMORY command shows plenty of pool space  left  (say,  over  70,000
  4628.  
  4629.       Chapter 12. System Management                                     79
  4630.  
  4631.  
  4632.       bytes)  you  may  want  to  decrease  POOLSIZEN  a little to free up
  4633.       memory for other purposes.
  4634.  
  4635.       12.4.9 RAMDISKSIZ: Virtual Disk
  4636.  
  4637.       TSX has a virtual disk driver built into the  system.   To  activate
  4638.       it  go  into  the  RAM Disk Parameters screen and assign the virtual
  4639.       disk a drive letter and specify the number of blocks  of  memory  to
  4640.       allocate for the disk.
  4641.  
  4642.  
  4643.  
  4644.  
  4645.  
  4646.  
  4647.                                    Chapter 13
  4648.  
  4649.                                 Troubleshooting
  4650.  
  4651.  
  4652.  
  4653.  
  4654.       This   chapter  discusses  some  of  the  problems  that  you  might
  4655.       encounter  when  installing  or  using  TSX-Lite.   Hopefully,  your
  4656.       problems  will be few and you will be able to resolve them yourself.
  4657.       However, if you need additional assistance S&H Computer Systems  has
  4658.       an  outstanding  support team that is there to help you.  Registered
  4659.       TSX-Lite users  receive  90  days  of  support  via  mail,  FAX,  or
  4660.       CompuServe  at  no  additional  cost.   Telephone  support  is  also
  4661.       available; see Section 15.3 for details.
  4662.  
  4663.       Most problems that occur when using TSX-Lite  fall  in  one  of  the
  4664.       following categories:
  4665.  
  4666.         . Installation  problems caused by the presence of TSR programs in
  4667.           AUTOEXEC.BAT or device drivers (such  as  HIMEM.SYS)  loaded  by
  4668.           CONFIG.SYS  that  interfer with TSX getting started and entering
  4669.           protected mode.  These problems can be  avoided  by  creating  a
  4670.           "stripped   down"  CONFIG.SYS  and  AUTOEXEC.BAT  for  use  when
  4671.           starting TSX.
  4672.  
  4673.         . Hardware conflicts caused by aspects of the  computer  that  are
  4674.           used  by  TSX running in protected mode but not encountered when
  4675.           running a simpler system like DOS.  For example, computers  have
  4676.           an  inaccessible area of memory used to shadow the BIOS.  If you
  4677.           have problems getting TSX started and your  BIOS  give  you  the
  4678.           option, try disabling BIOS shadowing.
  4679.  
  4680.         . DOS  programs  that do "dirty" tricks such as accessing portions
  4681.           of the operating system or  BIOS  itself.   TSX  tries  hard  to
  4682.           support  all  DOS  programs, but there are some which are simply
  4683.           not  suitable  for  use  with   a   multi-user,   protected-mode
  4684.           operating system.
  4685.  
  4686.       If  your  system  is  not  performing  properly  use the SHOW ERRORS
  4687.       command to see if any errors have been  recorded.   If  any  of  the
  4688.       error  counts  are  non-zero, use the SHOW EVENTS command to examine
  4689.       the error logs.
  4690.  
  4691.       The  following  is  a  list  of  potential  problems  and  suggested
  4692.       solutions.
  4693.  
  4694.  
  4695.  
  4696.  
  4697.  
  4698.  
  4699.                                        80
  4700.  
  4701.       Chapter 13. Troubleshooting                                       81
  4702.  
  4703.  
  4704.       13.1 RUNTSX Fails During TSX Start
  4705.  
  4706.       The  RUNTSX  program may have trouble loading TSX into "high memory"
  4707.       if you have a HIMEM.SYS  type  driver  loaded.   Try  renaming  your
  4708.       CONFIG.SYS  and  AUTOEXEC.BAT  to  be  sure  you  are rebooting to a
  4709.       basic, naked DOS machine.  This should fix the problem.
  4710.  
  4711.  
  4712.       13.2 Keyboard Is Dead
  4713.  
  4714.       Your  system  seems  to  boot  TSX,  going  all  the   way   through
  4715.       initialization   to   a   message  announcing  that  the  system  is
  4716.       available.  However, you press the return key and  nothing  happens.
  4717.       It's as if your keyboard is dead, but it works under DOS.
  4718.  
  4719.       Reboot,  and  at  the  DOS  level,  use TSGEN and select "Set Tuning
  4720.       Parameters" from the main menu, then "Console Keyboard  Parameters".
  4721.       Set  the value of parameters KBDELAY1 through KBDELAY4 all to a very
  4722.       high value, such as 10,000.  Then bring the system back to TSX  with
  4723.       the  RUNTSX  program.   This  should  bring  your  keyboard to life.
  4724.       Chances are that only KBDELAY4 needs to be  set,  and  that  smaller
  4725.       values   will  work.   These  delays  only  occur  when  programming
  4726.       keyboard LEDs so don't be too concerned at the high values.
  4727.  
  4728.  
  4729.       13.3 Serial Terminal Does Not Work
  4730.  
  4731.       As explained  earlier,  TSX-Lite  can  be  accessed  both  from  the
  4732.       console  display  and  keyboard  and  from  serial terminals (and/or
  4733.       modems) connected to COM ports.  If you connect  a  serial  terminal
  4734.       to a COM port and it does not operate, check the following things.
  4735.  
  4736.         . Is  the cabling good.  Do you need a "null modem" which reverses
  4737.           signal lines 2 and 3?
  4738.  
  4739.         . Does the baud rate of the terminal  match  that  for  which  the
  4740.           line  is  genned?   The  default TSX baud rate is 9600.  You can
  4741.           use a SET ttcuu:/SPEED=xxx/PERM command to change the line  baud
  4742.           rate without regenning.
  4743.  
  4744.         . Has  the  line  been  genned for the correct terminal type?  The
  4745.           default is VT-100.  A TERMTYPE of PCTERM must be set for  PCTERM
  4746.           type terminals.
  4747.  
  4748.         . If  you  are  using  TSXTERM  on a hard-wired line make sure the
  4749.           line is genned with TERMTYPE of TSXTERM.  Also  make  sure  that
  4750.           TSXTERM is not operating in ASCII mode.
  4751.  
  4752.       If  none  of  these  checks  reveal  problems, try using the TSX SPY
  4753.       command to check for characters being received from the  line.   The
  4754.       following  is  an  example  of  a command to spy on characters being
  4755.       received from line TTB0:
  4756.  
  4757.            SPY/INPUT/HEX/BINARY/PHONE TTB0:
  4758.  
  4759.       Chapter 13. Troubleshooting                                       82
  4760.  
  4761.  
  4762.       See Section 2.6 for further information about setting up  COM  ports
  4763.       and  Section  2.6.5 for more information about using SPY to diagnose
  4764.       serial line problems.
  4765.  
  4766.  
  4767.       13.4 Screen is Corrupted after Session Switch
  4768.  
  4769.       If you switch between a graphics  application  and  another  session
  4770.       and  find  that the graphics screen is not correct when you reselect
  4771.       it, then the most likely cause of the problem is that  a  super  VGA
  4772.       mode  is  being  used that is not supported by TSX-Lite.  Currently,
  4773.       the only super VGA modes supported by TSX-Lite are those offered  by
  4774.       the  Tseng  4000  and  Paradise  512 video adapters.  Other adapters
  4775.       that offer super VGA modes may  be  used  with  TSX-Lite  only  when
  4776.       running  in  the  standard VGA modes.  If you are using Windows with
  4777.       TSX-Lite you should select standard VGA as the adapter type.
  4778.  
  4779.  
  4780.       13.5 Mouse Does Not Work
  4781.  
  4782.       TSX supports the Microsoft serial mouse (or other  compatible  mice)
  4783.       attached to a COM port.  It does not support bus mouse controllers.
  4784.  
  4785.       To  use  the  mouse,  connect  it  to  a  COM port and use an ASSIGN
  4786.       command of the following form to  associate  the  MOUSEPORT  logical
  4787.       device name with the appropriate serial port:
  4788.  
  4789.            ASSIGN TTcuu: MOUSEPORT
  4790.  
  4791.       Where  "TTcuu" should be replaced by the appropriate TSX serial unit
  4792.       name such as TTB0 (COM1), TTC0 (COM2), TTD0 (COM3), or TTE0  (COM4).
  4793.       Note  that  the  device name MUST end with a colon.  See Section 2.7
  4794.       for additional information about setting up the mouse.  See  Section
  4795.       14.136  for  information  about  setting  up  the mouse for use with
  4796.       Windows under TSX.
  4797.  
  4798.  
  4799.       13.6 TSX Does Not Answer Incoming Calls
  4800.  
  4801.       If you have a modem connected to a TSX serial line  and  it  is  not
  4802.       answering  incoming  calls  check  three  things:  (1)  is  the line
  4803.       generated as a "Phone" line; (2) are you using a  cable  with  modem
  4804.       control  signals  (DTR  and  carrier  detect);  and (3) is the modem
  4805.       configured to answer the phone --  the  "S0"  modem  setup  register
  4806.       must  be  set to a non-zero value.  See Section 2.6.3 on page 17 for
  4807.       additional information about setting up phone lines.
  4808.  
  4809.  
  4810.       13.7 Trash Characters During Logon and Screen Refresh
  4811.  
  4812.       If some "trash" characters (large  stars  or  other  things)  appear
  4813.       when  you  log  onto  TSX  from  a  serial terminal or when you do a
  4814.       session window switch, you probably need to set your  terminal  type
  4815.       to  ANSI.   The  default TSX terminal type for serial lines is VT100
  4816.       which is appropriate for terminals that support DEC  VT-100  control
  4817.  
  4818.       Chapter 13. Troubleshooting                                       83
  4819.  
  4820.  
  4821.       sequences.   When VT100 terminal type is selected, TSX sends certain
  4822.       control  codes  during  logon,  window  refresh,  and  window  clear
  4823.       operations   that  cause  spurrious  characters  to  appear  if  the
  4824.       terminal cannot handle the full VT-100  control  set.   See  Section
  4825.       2.6.2 on page 14 for information about setting terminal types.
  4826.  
  4827.  
  4828.       13.8 Lost Characters or Retries During File Transfers
  4829.  
  4830.       If  you  are using a communications program to send or receive files
  4831.       using a protocol like  Z-modem  and  find  that  many  communication
  4832.       errors  or  retries  are occuring, you should check the type of UART
  4833.       communication controllers installed in  your  computer.   There  are
  4834.       two  common  types: 16450 UART's and 16550 UART's.  The 16550 UART's
  4835.       are highly recommended  for  use  with  multi-tasking  systems  like
  4836.       TSX-Lite  because  they contain a 16 character buffer that can store
  4837.       characters while TSX is performing other functions.
  4838.  
  4839.  
  4840.       13.9 Unable to Run TSR Programs
  4841.  
  4842.       If you try to run a TSR program as a TSX command  you  will  receive
  4843.       the  error  mssage:  "You  must  use  the  DOS  command  to  run TSR
  4844.       programs".  This means that in order to run this  program  you  must
  4845.       first  use  the  TSX  "DOS"  command to invoke COMMAND.COM, and then
  4846.       start the TSR program from within  COMMAND.COM.   You  can  use  the
  4847.       EXIT   command   to   exit  from  COMMAND.COM  to  the  TSX  command
  4848.       interpreter.  See Section 4.5 on page 31 for additional  information
  4849.       about running TSR programs.
  4850.  
  4851.  
  4852.       13.10 Queue Manager and Spooler Are Gone
  4853.  
  4854.       First  make  sure  that the GEN parameter DOQUEUES is set to 1.  You
  4855.       can type STARTQUE yourself from the TSX command  prompt  to  restart
  4856.       the queue manager and spooler.
  4857.  
  4858.       Sometimes  an  error  in  the  queue  manager or spooler program, or
  4859.       corruption of the queue manager database, causes the  queue  manager
  4860.       and  spooler  to abnormally terminate.  You may be able to determine
  4861.       some  information   by   typing   the   files   SY:SPOOLER.LOG   and
  4862.       SY:QUEMAN.LOG.   For  example,  perhaps the system killed these jobs
  4863.       because the system page file was filling up (increase GEN  parameter
  4864.       PGFILSIZ).
  4865.  
  4866.       If  there  is  no  obvious solution, try deleting files SY:SPOOL.SYS
  4867.       and  SY:QUEMAN.SYS.   SPOOLER.SYS  is  only  used  to  hold  program
  4868.       printer   output   which   is  being  implicitly  spooled.   However
  4869.       QUEMAN.SYS contains information about all the queues and  forms  you
  4870.       have  set  up  using  QMAN or SET QUEUE and SET FORM commands.  Note
  4871.       that QMAN automatically maintains a file named  QINIT.CMD  with  the
  4872.       SET  QUEUE or SET FORM commands needed to rebuild your queues if you
  4873.       ever loose them.  If you use commands, not QMAN,  to  alter  queues,
  4874.       you must maintain QINIT.CMD yourself.
  4875.  
  4876.       Chapter 13. Troubleshooting                                       84
  4877.  
  4878.  
  4879.       After  deleting these two system files restart the spooler and queue
  4880.       manager by typing STARTQUE.  Wait a minute, then type  QINIT.   This
  4881.       should solve the problem.
  4882.  
  4883.  
  4884.       13.11 Slow Performance -- Excessive Memory Paging
  4885.  
  4886.       TSX  is a virtual memory operating system and allows programs to use
  4887.       more memory than is physically installed in your computer.   When  a
  4888.       program  uses  more  memory than installed, TSX reads and writes the
  4889.       extra memory pages to a "page file" on disk.  If  you  run  programs
  4890.       that  use  much more memory than actually installed in your computer
  4891.       your performance may be poor because  TSX  is  being  forced  to  do
  4892.       excessive   paging   operations.    The  MAXP0MEM  sysgen  parameter
  4893.       specifies the maximum number of k-bytes of virtual memory that  each
  4894.       program  may  use.   You  can  reduce this parameter or use PMAN and
  4895.       install a program with the MAXMEM parameter set to a smaller  value.
  4896.       Note,  some  programs  use  all  available memory even if they don't
  4897.       actually need that much memory so limiting their memory  space  will
  4898.       benefit  system  performance  without restricting program operation.
  4899.       You can use the SYSMON program to monitor memory paging.
  4900.  
  4901.  
  4902.  
  4903.  
  4904.  
  4905.  
  4906.                                    Chapter 14
  4907.  
  4908.                               TSX Command Summary
  4909.  
  4910.  
  4911.  
  4912.  
  4913.       This chapter is a quick reference to  TSX  commands.   Much  of  the
  4914.       information here is also available from the on-line HELP facility.
  4915.  
  4916.       A  detailed  guide  to  the  use  of  these commands is found in the
  4917.       TSX-32  User's  Manual  which  may  be  purchased  separately   (see
  4918.       REGISTER.DOC for ordering information).
  4919.  
  4920.       In this summary, the following conventions are used:
  4921.  
  4922.         . Items in square brackets are optional.
  4923.  
  4924.         . Items in lower case should be replaced by an appropriate value.
  4925.  
  4926.         . Dates  and  times  used with qualifiers such as /SINCE, /BEFORE,
  4927.           and /AFTER, must be  in  the  format  dd-mmm-yyyy:hh:mm:ss.   If
  4928.           left  out,  the  date  defaults to the current date and the time
  4929.           defaults to midnight.  If both date and time are left  out,  the
  4930.           command  assumes  midnight  of  the  current  day.   Here  is an
  4931.           example qualifier: /SINCE=5-MAY-1993.
  4932.  
  4933.         . Qualifiers preceded by [NO] are  negatable.   So,  for  example,
  4934.           you  may  toggle  process  monitoring  for  your  job  with  SET
  4935.           PROCESS/MONITOR and SET PROCESS/NOMONITOR.
  4936.  
  4937.         . Qualifiers followed by the word "Default"  in  parentheses  need
  4938.           not  be  specified  except  to  toggle a setting previously made
  4939.           with the  negated  form  of  that  qualifier.   If  a  negatable
  4940.           qualifier   is   specified   as   "default",   then  the  normal
  4941.           (non-negated) form of that qualifier is the default.
  4942.  
  4943.         . Qualifiers which include "=(files)" will accept a list of  files
  4944.           enclosed in parentheses and separated by commas.
  4945.  
  4946.  
  4947.  
  4948.  
  4949.  
  4950.  
  4951.  
  4952.  
  4953.  
  4954.  
  4955.  
  4956.  
  4957.  
  4958.                                        85
  4959.  
  4960.       Chapter 14. TSX Command Summary                                   86
  4961.  
  4962.  
  4963.       14.1 ALLOCATE
  4964.  
  4965.       The  ALLOCATE  command  allocates  a device for exclusive use by the
  4966.       job.
  4967.  
  4968.       Syntax:
  4969.  
  4970.            ALLOCATE device
  4971.  
  4972.       Example:
  4973.  
  4974.            ALLOCATE TTB0:
  4975.  
  4976.       The ALLOCATE command allocates one or  more  devices  for  exclusive
  4977.       use  by  your  job.  Other users will be denied access to the device
  4978.       until you use the DEALLOCATE command to release the  device  or  you
  4979.       log off.
  4980.  
  4981.       When  you  allocate  a  device, your primary process and all of your
  4982.       subprocesses may access the device.  You must have  ALLOC  privilege
  4983.       to use this command.
  4984.  
  4985.  
  4986.  
  4987.       14.2 ASSIGN
  4988.  
  4989.       The  ASSIGN  command defines a logical device name and associates it
  4990.       with a particular device and/or disk file.
  4991.  
  4992.       Syntax:
  4993.  
  4994.            ASSIGN[/qualifiers] actual_device logical_device
  4995.  
  4996.       Qualifiers:
  4997.  
  4998.          /SYSTEM specifies  that  the  assignment  is  to  be  made  on  a
  4999.                  system-wide  basis  and  apply  to  all  users.   If this
  5000.                  qualifier is not specified, the ASSIGN  applies  only  to
  5001.                  your job.
  5002.  
  5003.       See  Chapter  7,  starting  on  page  43, for additional information
  5004.       about the ASSIGN command.
  5005.  
  5006.  
  5007.  
  5008.       14.3 ASSIGNMENT Expressions
  5009.  
  5010.       The following operators  are  used  to  define  symbols  as  numeric
  5011.       expressions:  "=",  "==", and "===".  They define symbols and equate
  5012.       them to the values of expressions.
  5013.  
  5014.       Chapter 14. TSX Command Summary                                   87
  5015.  
  5016.  
  5017.       Syntax:
  5018.  
  5019.            symbol_name = expression     (Process local symbol table)
  5020.            symbol_name == expression    (Process global symbol table)
  5021.            symbol_name === expression   (System symbol table)
  5022.  
  5023.       Examples:
  5024.  
  5025.            COUNT = 1
  5026.            COUNT = COUNT + 1
  5027.            SUBSTR == FULLSTR[1:3]
  5028.            DOSLIST = ANSWER .EQS. "YES"
  5029.  
  5030.       When a numeric assignment statement is executed  the  expression  on
  5031.       the  right  side  of  the equal sign(s) is evaluated and its numeric
  5032.       value is assigned to the symbol name.  See Chapter  7,  starting  on
  5033.       page 43, for additional information about defining symbols.
  5034.  
  5035.  
  5036.  
  5037.       14.4 ASSIGNMENT for strings
  5038.  
  5039.       The  following  operators  are  used  to  define symbols as strings:
  5040.       ":=", ":==", and ":===".
  5041.  
  5042.       They define symbols and equate them to replacement strings.
  5043.  
  5044.       Syntax:
  5045.  
  5046.            symbol_name := replacement_string     (Process local symbol)
  5047.            symbol_name :== replacement_string    (Process global symbol)
  5048.            symbol_name :=== replacement_string   (System symbol)
  5049.  
  5050.       Examples:
  5051.  
  5052.            TTPR*INT := COPY ^ TTA1:
  5053.            SDIR*ECTORY :== DIRECTORY/ORDER=NAME
  5054.            INFILE := DHA0:JUNE.DAT
  5055.            TTPRINT :== COPY ^ TTA2:
  5056.  
  5057.       See Chapter 7, starting  on  page  43,  for  additional  information
  5058.       about defining symbols.
  5059.  
  5060.  
  5061.  
  5062.       14.5 BACKUP
  5063.  
  5064.       The  BACKUP  command makes extra ("backup") copies of files.  BACKUP
  5065.       copies one or more input  files  into  a  single  output  "container
  5066.       file"  called  a  "backup save set".  BACKUP is usually used to copy
  5067.       groups of files from a hard disk to  floppy  disks  or  tape.   This
  5068.       ensures  that  if files are lost on the hard disk (due to failure of
  5069.       the hard drive or human error) they can be restored from the  backup
  5070.       copy.   The  RESTORE  command, described in Section 14.67, page 129,
  5071.       is used to restore files saved with BACKUP.
  5072.  
  5073.       Chapter 14. TSX Command Summary                                   88
  5074.  
  5075.  
  5076.       Syntax:
  5077.  
  5078.            BACKUP[/qualifiers] infile outfile
  5079.  
  5080.       Qualifiers:
  5081.  
  5082.          /AFTER[=date-time] selects files created since a given  date  and
  5083.                  time.
  5084.  
  5085.          /ARCHIVE  Specifies  that  only  files  with  the  "archive"  (or
  5086.                  "updated") attribute set should be backed up.
  5087.  
  5088.          /BEFORE[=date-time] Selects files created  before  a  given  date
  5089.                  and time.
  5090.  
  5091.          /BELL  Specifies  that  BACKUP should ring the bell during volume
  5092.                  change operations.
  5093.  
  5094.          /COMPRESS Specifies that BACKUP should compress data  from  files
  5095.                  as  it  is  writing to the output device.  This typically
  5096.                  reduces the size of the output save set  by  30%  to  50%
  5097.                  but  increases  the  CPU  time  used  by the backup.  The
  5098.                  RESTORE program automatically recognizes compressed  save
  5099.                  sets and decompresses them during the restoration.
  5100.  
  5101.          /CONFIRM  Specifies  that  you  want to confirm whether each file
  5102.                  should be backed  up.   For  each  file  selected  to  be
  5103.                  backed  up  you  will be prompted for confirmation.  Type
  5104.                  'Y' to backup the file, 'N' to skip the file and  proceed
  5105.                  with the next one, or '?' to list other choices.
  5106.  
  5107.          /EXCLUDE=(files)    specifies    that   any   file   matching   a
  5108.                  specification in the "files" list is  not  to  be  backed
  5109.                  up.   Wildcard  file  specifications are permitted in the
  5110.                  exclusion list.  If more than one file  specification  is
  5111.                  provided,  enclose  the specifications in parentheses and
  5112.                  separate them with commas.
  5113.  
  5114.          /GROUP=count Specifies the number of save  set  records  in  each
  5115.                  redundancy  group.   Each  redundancy  group  includes an
  5116.                  extra record which can be used by RESTORE to  reconstruct
  5117.                  one  unreadable  record  in the group.  The default group
  5118.                  count is 10.
  5119.  
  5120.          /IGNORE Specifies that you want to backup the file even if  other
  5121.                  processes   currently  have  the  file  open  with  write
  5122.                  access.
  5123.  
  5124.          /INITIALIZE May be used  when  the  BACKUP  output  device  is  a
  5125.                  floppy  disk,  magnetic  tape  or  other  removable  file
  5126.                  structured device.  /INITIALIZE specifies that all  files
  5127.                  should   be   deleted  from  each  output  volume  before
  5128.                  creating a backup save set.
  5129.  
  5130.       Chapter 14. TSX Command Summary                                   89
  5131.  
  5132.  
  5133.          /NEW selects only files created today.
  5134.  
  5135.          /NOCRC Specifies that you do not want CRC  (cyclical  redundancy)
  5136.                  checksums calculated and recorded in the save set.
  5137.  
  5138.          /NOLOG  Specifies  that  BACKUP should not report which files are
  5139.                  being backed up.  By default BACKUP  logs  this  activity
  5140.                  to the terminal.
  5141.  
  5142.          /RECORD  Specifies  that  the  "updated"  attribute flag for each
  5143.                  file backed up should be cleared (turned off).  This  can
  5144.                  be  used  to  keep  track of which files have been backed
  5145.                  up.  This qualifier  can  be  used  in  conjunction  with
  5146.                  /ARCHIVE  to  perform  incremental backups -- saving only
  5147.                  files created or modified since the last backup.
  5148.  
  5149.          /SINCE=date-time Is equivalent to the /AFTER qualifier.
  5150.  
  5151.       The BACKUP command copies all selected input files to  to  a  backup
  5152.       save set.  For example,
  5153.  
  5154.            BACKUP  *.C  B:CODE
  5155.  
  5156.       creates  a  single backup save set (which is itself a valid file) on
  5157.       floppy disk B: named CODE.BSS containing all files from the  current
  5158.       directory  with  the  extension  ".C".  In addition to the data from
  5159.       the input files, the save set file also contains  information  about
  5160.       the  names  of  the  input  files and the device and directory where
  5161.       each input file was located.  The files in the backup save  set  can
  5162.       only  be restored using the RESTORE command (see Section 14.67, page
  5163.       129).
  5164.  
  5165.       Most variations of the  BACKUP  command  select  different  sets  of
  5166.       files  to  be  backed up.  File selection is done by combining lists
  5167.       of file specifications  (with  wildcard  characters  and  file  name
  5168.       factoring) with selection and exclusion qualifiers.
  5169.  
  5170.       The  /ARCHIVE qualifier causes BACKUP to select only files that were
  5171.       created or modified since the last backup.   The  /RECORD  qualifier
  5172.       causes  BACKUP  to  mark  the  directory entries of files indicating
  5173.       that they have been backed up.
  5174.  
  5175.       The output save set file can reside on a single volume  but  backing
  5176.       up  to  floppy disks often requires multiple volumes.  Save sets are
  5177.       stored with redundant information so that if some of it can  not  be
  5178.       read the lost data can be reconstructed.
  5179.  
  5180.       You  can  use  the  RESTORE/VERIFY command to read a backup save set
  5181.       and compare the contents of its files with those on disk  to  verify
  5182.       that the save set was written correctly and can be read.
  5183.  
  5184.       The  BACKUP  command  must  include  at least one file specification
  5185.       indicating which files are to be backed  up.   All  files  with  the
  5186.       extension ".C" could be backed up with the command,
  5187.  
  5188.       Chapter 14. TSX Command Summary                                   90
  5189.  
  5190.  
  5191.            BACKUP *.C B:CODE
  5192.  
  5193.       Multiple  input  file  specifications should be separated by commas.
  5194.       For example, to  backup  up  BIG.DAT  as  well  as  all  files  with
  5195.       extension ".C", use the command:
  5196.  
  5197.            BACKUP *.C,BIG.DAT B:ALL
  5198.  
  5199.       To  back  up  all files in the \DAN directory and all subdirectories
  5200.       under DAN, use the "..." wildcard directory  operator  (see  Section
  5201.       5.2, page 39) with a command such as:
  5202.  
  5203.            BACKUP \DAN\...\*.* B:DAN
  5204.  
  5205.       The  following  command  backs  up all files in all directories (and
  5206.       subdirectories) on the C: disk:
  5207.  
  5208.            BACKUP C:\...\*.* C:FULLBACK
  5209.  
  5210.       The /EXCLUDE qualifier can be used to  exclude  certain  files  from
  5211.       the  backup  operation.  For example, the following command backs up
  5212.       all files in the DAN and ALEX  directories  except  files  with  the
  5213.       extension BAK and TMP,
  5214.  
  5215.            BACKUP/EXCLUDE=(*.BAK,*.TMP) \DAN\...\*.*,\ALEX\...\*.* A:SAV
  5216.  
  5217.       Another  technique  to manage the volume of files backed up is known
  5218.       as "incremental backup".  This backs up only the  files  which  have
  5219.       been  created  or  updated  since  the last backup was done.  For an
  5220.       incremental backup, files are  selected  which  have  the  "updated"
  5221.       attribute  flag  set.   This attribute is set when a file is created
  5222.       or modified indicating that it has been updated since  it  was  last
  5223.       backed  up.   The  /ARCHIVE  qualifier  causes BACKUP to select only
  5224.       files with this updated attribute set.  For example,  the  following
  5225.       command  backs  up  all  files on C: that have the updated attribute
  5226.       set:
  5227.  
  5228.            BACKUP/ARCHIVE C:\...\*.* B:FULL
  5229.  
  5230.       The /RECORD qualifier is a companion to /ARCHIVE.   Whereas  ARCHIVE
  5231.       causes  BACKUP  to select only files with the updated attribute set,
  5232.       /RECORD causes BACKUP to reset the updated attribute flag  for  each
  5233.       file  that  is  backed up.  To perform periodic incremental backups,
  5234.       you should specify both the /ARCHIVE and /RECORD  qualifiers.   This
  5235.       selects  files  created or updated since the last incremental backup
  5236.       and causes the updated attribute to be cleared once the  backup  has
  5237.       been done.  The following command illustrates this:
  5238.  
  5239.            BACKUP/ARCHIVE/RECORD C:\...\*.* A:INC0511
  5240.  
  5241.       When   using   the   incremental   backup   technique,   you  should
  5242.       occasionally perform a full (or "baseline")  backup  of  all  files.
  5243.       When  performing this baseline backup you would normally specify the
  5244.       /RECORD qualifier but would not use  the  /ARCHIVE  qualifier  since
  5245.       you want to select all files.
  5246.  
  5247.       Chapter 14. TSX Command Summary                                   91
  5248.  
  5249.  
  5250.       When  copying  to  floppy  disk  more  than one output volume may be
  5251.       needed to store all the  files.   When  a  removable  output  device
  5252.       fills  up,  BACKUP  closes  the output save set and asks the user to
  5253.       mount another volume.  You can load another  floppy  disk  and  type
  5254.       "OK"  to continue the backup operation or you can type "QUIT" if you
  5255.       do not want to go on.  You can also type "INITIALIZE"  if  you  want
  5256.       to  continue but need to delete all files from the new volume first.
  5257.       The same file name  is  used  for  each  volume  of  the  save  set.
  5258.       Volumes  must  be provided to the RESTORE facility in the same order
  5259.       that the BACKUP facility wrote them.
  5260.  
  5261.       Often a set of floppy disks used for backup  may  contain  old  save
  5262.       sets  or  other  unwanted  data.   The  /INITIALIZE qualifier causes
  5263.       BACKUP to delete all the files on the output volume  before  opening
  5264.       a  new save set file.  Be sure that the output disk does not contain
  5265.       data you need before running BACKUP with /INITIALIZE.   BACKUP  will
  5266.       not  allow  you  to  specify the /INITIALIZE qualifier if the output
  5267.       disk is a fixed disk.  /INITIALIZE also will not delete  files  with
  5268.       the  protected  attribute  set (the UNPROTECT command will clear the
  5269.       protected attribute).
  5270.  
  5271.  
  5272.  
  5273.       14.6 BATCH
  5274.  
  5275.       BATCH Submits a command file to be executed as  a  background  batch
  5276.       job.
  5277.  
  5278.       Syntax:
  5279.  
  5280.            BATCH[/qualifiers] filespec [/qualifiers]
  5281.  
  5282.       Qualifiers:
  5283.  
  5284.          /AFTER[=date-time] Run job at specified date-time.
  5285.  
  5286.          /[NO]ASSIGNS  (Default)  The  batch job "inherits" logical device
  5287.                  names and symbol names currently in effect.
  5288.  
  5289.          /[NO]HOLD Specifies that the  batch  job  is  to  be  held  until
  5290.                  later.
  5291.  
  5292.          /[NO]IDENTIFY  (Default)  Display  the  job id and queue name for
  5293.                  job.
  5294.  
  5295.          /LOGFILE[=filename] Write output to filename.  (Default: Name  of
  5296.                  command file)
  5297.  
  5298.          /NAME[=nametext]   Specify   the  job  name.   Default:  Name  of
  5299.                  invoking command file.
  5300.  
  5301.          /[NO]NOTIFY Print a  message  on  terminal  when  the  batch  job
  5302.                  completes.
  5303.  
  5304.       Chapter 14. TSX Command Summary                                   92
  5305.  
  5306.  
  5307.          /PARAMETERS=params   Specify  parameters  to  be  passed  to  the
  5308.                  command file.
  5309.  
  5310.          /PRIORITY=n Specify the queue priority for the batch job.
  5311.  
  5312.          /QUEUE=quename Specify the queue to  submit  job  to.   (Default:
  5313.                  BATCH:)
  5314.  
  5315.          /[NO]RESTART  Restart  the  job if a system shutdown occurs while
  5316.                  job is running.
  5317.  
  5318.          /RUNPRIORITY=n Run the batch job at this priority.   The  default
  5319.                  priority  for  both  interactive  and  batch  jobs is 50.
  5320.                  Specify a priority lower than 50 if you wish to have  the
  5321.                  background  batch  job  execute  at a lower priority than
  5322.                  interactive users.  You can use QMAN to set  the  default
  5323.                  execution priority for a queue.
  5324.  
  5325.       See  Section  9.3  on  page  53 for additional information about the
  5326.       BATCH command.
  5327.  
  5328.  
  5329.  
  5330.       14.7 BOOT
  5331.  
  5332.       BOOT Stops TSX and reboots DOS.  It is recommended that you  execute
  5333.       the  SHUTDOWN  procedure first which does an orderly shutdown of all
  5334.       jobs.
  5335.  
  5336.  
  5337.  
  5338.       14.8 BYE
  5339.  
  5340.       BYE is a synonym  to  the  LOGOFF  command.   See  LOGOFF  for  more
  5341.       detail.
  5342.  
  5343.  
  5344.  
  5345.       14.9 CALCULATE
  5346.  
  5347.       CALCULATE Evaluates a numeric expression and displays the result.
  5348.  
  5349.       Syntax:
  5350.  
  5351.            CALCULATE expression
  5352.  
  5353.       Examples:
  5354.  
  5355.            CALC 22/7
  5356.            CALC (121+822)/4.71
  5357.            CALC SQRT(43)
  5358.  
  5359.       In  addition to the arithmetic operators, CALCULATE also accepts the
  5360.       following library functions: ACOS, ASIN, ATAN, COS, EXP,  ABS,  LOG,
  5361.  
  5362.       Chapter 14. TSX Command Summary                                   93
  5363.  
  5364.  
  5365.       LOG10,  SIN,  SQRT,  TAN, DEG, RAD.  Arguments to trig functions are
  5366.       in units of degrees.
  5367.  
  5368.  
  5369.  
  5370.       14.10 CALENDAR
  5371.  
  5372.       CALENDAR Displays a calendar for a selected month.  If  you  do  not
  5373.       specify a month, a calendar for the current month is displayed.
  5374.  
  5375.       Syntax:
  5376.  
  5377.            CALENDAR [month [year]]
  5378.  
  5379.       Examples:
  5380.  
  5381.            CALENDAR
  5382.            CALENDAR JAN
  5383.            CALENDAR DEC 92
  5384.  
  5385.  
  5386.  
  5387.       14.11 CALL
  5388.  
  5389.       The  CALL  statement  is  used  in  a  DOS-style  BAT file to invoke
  5390.       another BAT file.
  5391.  
  5392.       Syntax:
  5393.  
  5394.            CALL[/qualifiers] file [arguments]
  5395.  
  5396.       Qualifiers:
  5397.  
  5398.          /[NO]ECHO List each line of the file as it is executed.
  5399.  
  5400.       The CALL command can be used to invoke  a  command  procedure  or  a
  5401.       .BAT  file.   It  is identical to using the '@' sign but is provided
  5402.       for compatibility with DOS.
  5403.  
  5404.       The optional qualifiers are  /ECHO,  which  forces  echoing  of  the
  5405.       lines   in   the   called  command  procedure,  and  /NOECHO,  which
  5406.       suppresses echoing.  By default the called  command  procedure  will
  5407.       inherit the echo characteristics of the caller.
  5408.  
  5409.  
  5410.  
  5411.       14.12 CHAIN
  5412.  
  5413.       CHAIN  chains  from  one  command  file to another.  When the second
  5414.       command file exits control does not return to the  invoking  command
  5415.       file.
  5416.  
  5417.       Syntax:
  5418.  
  5419.       Chapter 14. TSX Command Summary                                   94
  5420.  
  5421.  
  5422.            CHAIN[/qualifiers] filespec [arguments]
  5423.  
  5424.       Qualifiers:
  5425.  
  5426.          /ABORT  Close  all  currently  nested  command  procedures before
  5427.                  running.
  5428.  
  5429.       The CHAIN command allows command files to  "chain"  together.   This
  5430.       is  a  useful tool for large applications which may not wish to have
  5431.       one central command file driving them.  There  are  many  advantages
  5432.       to  having command files be the topmost layer of large applications.
  5433.       For one, it provides instant  access  to  all  the  normal  keyboard
  5434.       monitor  commands  for  doing  utility work such as copying, backup,
  5435.       allocation of devices, etc.  The technique of chaining  also  allows
  5436.       developers  to  keep  command  file driven applications from getting
  5437.       nested too deeply by allowing one command procedure to pass  control
  5438.       to another while terminating itself and closing its file.
  5439.  
  5440.       If  no  qualifiers  are  specified,  the  CHAIN  command  closes the
  5441.       currently  executing  command  file  and  begins  execution  of  the
  5442.       command  file specified as the first parameter to the CHAIN command.
  5443.       Any open command files above the  one  invoking  the  CHAIN  command
  5444.       remain  open  so  the  new command file begins executing at the same
  5445.       nesting level as the one being exited.  If the /ABORT  qualifier  is
  5446.       specified,  all  open  command  files for the job are closed and the
  5447.       command file being entered is started as the topmost command file.
  5448.  
  5449.  
  5450.  
  5451.       14.13 CHDIR
  5452.  
  5453.       CHDIR Changes the current default  working  disk  and/or  directory.
  5454.       It is equivalent to the SET DEFAULT and the CD command.
  5455.  
  5456.       Syntax:
  5457.  
  5458.            CHDIR dirspec
  5459.            CD dirspec
  5460.            SET DEFAULT dirspec
  5461.  
  5462.       Examples:
  5463.  
  5464.            CD \TSX32SYS
  5465.            CHDIR ..\TEST
  5466.            SET DEFAULT E:\BIN
  5467.  
  5468.  
  5469.  
  5470.       14.14 CLS
  5471.  
  5472.       CLS clears and resets the terminal screen.
  5473.  
  5474.       Chapter 14. TSX Command Summary                                   95
  5475.  
  5476.  
  5477.       14.15 COPY
  5478.  
  5479.       COPY copies one or more files.
  5480.  
  5481.       Syntax:
  5482.  
  5483.            COPY[/qualifiers] inputnames outputname
  5484.  
  5485.       Qualifiers:
  5486.  
  5487.          /ALLOCATE=size Preallocate this many bytes for the output file.
  5488.  
  5489.          /BEFORE[=date-time]  Copy  only files created before a given date
  5490.                  and time.
  5491.  
  5492.          /BLOCKSIZE=size Specify the number of bytes in  each  data  block
  5493.                  written by COPY.
  5494.  
  5495.          /[NO]CONCATENATE  Concatenate  files  together  to  form a single
  5496.                  output file.
  5497.  
  5498.          /[NO]CONFIRM Request confirmation before copying each file.
  5499.  
  5500.          /[NO]CONTIGUOUS  Store  data   blocks   for   the   output   file
  5501.                  contiguously on disk.
  5502.  
  5503.          /[NO]CREDIR Create output directory if it doesn't exist.
  5504.  
  5505.          /DATE Copy files created on the given date.
  5506.  
  5507.          /[NO]DELETE Delete input file(s) after copying.
  5508.  
  5509.          /EXCLUDE=(files) Exclude listed files from copy.
  5510.  
  5511.          /[NO]LOG Display log information.
  5512.  
  5513.          /[NO]MBXALLOC=bytes Allocate this many bytes for mailbox device.
  5514.  
  5515.          /[NO]MBXPERM Create permanent mailbox.
  5516.  
  5517.          /[NO]MD Same as /[NO]CREDIR
  5518.  
  5519.          /[NO]MKDIR Same as /[NO]CREDIR.
  5520.  
  5521.          /[NO]MULTI_VOLUME Prompt for additional output volumes.
  5522.  
  5523.          /NEWFILE Only copy files created today.
  5524.  
  5525.          /[NO]PREDELETE  Delete  output  file  before  copy  if it already
  5526.                  exists.
  5527.  
  5528.          /PROTECT Set protection on output file.
  5529.  
  5530.          /QUERY Same /[NO]CONFIRM.
  5531.  
  5532.       Chapter 14. TSX Command Summary                                   96
  5533.  
  5534.  
  5535.          /[NO]REPLACE (Default) Overwrite old files with new copies.
  5536.  
  5537.          /SETDATE Set date/time of output file to current date/time.
  5538.  
  5539.          /SINCE[=date-time] Copy files created since date-time.
  5540.  
  5541.       The COPY command makes a copy of one or more files.  It can be  used
  5542.       to  move  files  between devices or directories.  Unless the /DELETE
  5543.       qualifier is specified, the input file is not altered.
  5544.  
  5545.       Subdirectory files  are  not  copied.   However,  you  can  use  the
  5546.       /CREDIR  qualifier to cause COPY to create subdirectories for output
  5547.       files.
  5548.  
  5549.       Wildcard  characters  may  be  used  in  file  specifications.   The
  5550.       asterisk  ('*')  character  matches zero or more characters, and the
  5551.       question mark ('?') character matches exactly one  character.   Both
  5552.       may  be  used in input file names, but only the asterisk may be used
  5553.       in the output file name.  For example, the command
  5554.  
  5555.            COPY MANUAL.TXT,AUTO.TXT  *.OLD
  5556.  
  5557.       results in MANUAL.TXT being copied to MANUAL.OLD and AUTO.TXT  being
  5558.       copied to AUTO.OLD.
  5559.  
  5560.       To  copy  all  files  with  the extension ".C" created yesterday and
  5561.       today to the same name with the extension ".NEW", type
  5562.  
  5563.            COPY/SINCE=YESTERDAY  *.C  *.NEW
  5564.  
  5565.       See  Section  5.2,  page  39,  for  more  information  on   wildcard
  5566.       characters and their usage.
  5567.  
  5568.       If  a  part  of a file specification is missing from the output file
  5569.       name, the missing part is treated as if it  were  the  '*'  wildcard
  5570.       character,  and  the  corresponding part is used from the input file
  5571.       name.
  5572.  
  5573.       If "\...\" is specified as the  output  directory,  then  the  input
  5574.       directory  for  each  file  is  used  as  the output directory.  For
  5575.       example, the following command copies all files in  all  directories
  5576.       on device DHA1: to device DFA0: and preserves the directory tree:
  5577.  
  5578.            COPY/CREDIR  DHA1:\...\*.*  DFA0:\...\*.*
  5579.  
  5580.       Note  the  use  of the /CREDIR qualifier which causes COPY to create
  5581.       any non-existing directories on the output disk.
  5582.  
  5583.       It is also possible to use an output directory specification of  the
  5584.       form  \directory...\  to  copy a directory tree under a directory on
  5585.       the output device.  For example, the following  command  copies  all
  5586.       files  in all directories on device A: to device C: and constructs a
  5587.       directory tree on the output disk that matches  the  directory  tree
  5588.       on the input disk except it is rooted under the directory \PASCAL\,
  5589.  
  5590.       Chapter 14. TSX Command Summary                                   97
  5591.  
  5592.  
  5593.            COPY/CREDIR  B:\...\*.*  C:\PASCAL...\*.*
  5594.  
  5595.       A   technique  called  "factoring"  may  be  used  to  simplify  the
  5596.       specification of a list of files that have a common portion for  the
  5597.       input  file  specification.   To  use factoring, enclose the varying
  5598.       parts of the file specification in parentheses separated by  commas.
  5599.       For example, the command
  5600.  
  5601.            COPY PAYROLL.(CBL,OBJ,EXP) OLDPAY.*
  5602.  
  5603.       is equivalent to the command
  5604.  
  5605.            COPY PAYROLL.CBL,PAYROLL.OBJ,PAYROLL.EXP OLDPAY.*
  5606.  
  5607.       or to the commands
  5608.  
  5609.            COPY PAYROLL.CBL OLDPAY.CBL
  5610.            COPY PAYROLL.OBJ OLDPAY.OBJ
  5611.            COPY PAYROLL.EXP OLDPAY.EXP
  5612.  
  5613.       See  the description of the FMAN command on page 111 for information
  5614.       about a screen-oriented file management program.
  5615.  
  5616.  
  5617.  
  5618.       14.16 COUNT
  5619.  
  5620.       COUNT counts the records in files.
  5621.  
  5622.       Syntax:
  5623.  
  5624.            COUNT[/qualifiers] filespec
  5625.  
  5626.       Qualifiers:
  5627.  
  5628.          /BEFORE[=date-time] Select files created before a given date  and
  5629.                  time.
  5630.  
  5631.          /DATE[=date] Selects files created on the given date.
  5632.  
  5633.          /EXCLUDE=(files) Exclude specified files.
  5634.  
  5635.          /NEW Only count files created today.
  5636.  
  5637.          /OUTPUT=file Redirects count output to a file.
  5638.  
  5639.          /SINCE[=date-time]  Select  only  files  created since given date
  5640.                  and time.
  5641.  
  5642.       Chapter 14. TSX Command Summary                                   98
  5643.  
  5644.  
  5645.       14.17 DATE
  5646.  
  5647.       DATE is a synonym for SET DATE.  It can also be  used  to  show  the
  5648.       current date.
  5649.  
  5650.  
  5651.  
  5652.       14.18 DEALLOCATE
  5653.  
  5654.       DEALLOCATE  releases  exclusive use of a device previously allocated
  5655.       by use of the ALLOCATE command.
  5656.  
  5657.       Syntax:
  5658.  
  5659.            DEALLOCATE device[,device...]
  5660.  
  5661.  
  5662.  
  5663.       14.19 DEASSIGN
  5664.  
  5665.       DEASSIGN  Removes  (deletes)  symbol   and   logical   device   name
  5666.       assignments.
  5667.  
  5668.       Syntax:
  5669.  
  5670.            DEASSIGN[/qualifiers] name
  5671.  
  5672.       Qualifiers:
  5673.  
  5674.          /ALL Deleate all symbols in the specified table.
  5675.  
  5676.          /GLOBAL Specified symbol is in the process global table.
  5677.  
  5678.          /LOCAL Specified symbol is in the process local table.
  5679.  
  5680.          /SYMBOL Specified symbol is a symbol, not a logical device name.
  5681.  
  5682.          /SYSTEM Specified symbol is in the system table.
  5683.  
  5684.       The  DEASSIGN  command removes a symbol name from a symbol table, or
  5685.       a logical  device  name  from  an  assign  table.   If  the  /SYMBOL
  5686.       qualifier  is  specified,  the name is treated as a symbol name.  If
  5687.       /SYMBOL is not specified, the name is treated as  a  logical  device
  5688.       name.
  5689.  
  5690.       The  qualifiers  /LOCAL,  /GLOBAL,  and  /SYSTEM specify whether the
  5691.       name is in the process local, process global, or system  table.   No
  5692.       more  than  one  of  these qualifiers may be specified on a command.
  5693.       If none of these qualifiers is specified, the process  global  table
  5694.       is  searched  for  a logical device name and the process local table
  5695.       is searched for a symbol name.
  5696.  
  5697.       If the /ALL qualifier is specified,  all  entries  in  the  selected
  5698.       symbol  or  assign  table  are  deleted.   In  this case, the "name"
  5699.       parameter is ignored.
  5700.  
  5701.       Chapter 14. TSX Command Summary                                   99
  5702.  
  5703.  
  5704.       SYSPRV privilege is required to remove  an  entry  from  the  system
  5705.       table.
  5706.  
  5707.  
  5708.  
  5709.       14.20 DEFINE KEY
  5710.  
  5711.       The  DEFINE  KEY  command  defines  a  replacement  string  that  is
  5712.       substituted for a specified key when the key is pressed.   See  also
  5713.       the  description  of the MACROS command on page 118, for information
  5714.       about  defining  keyboard  macros  for  the  console  keyboard   and
  5715.       make/break type terminals.
  5716.  
  5717.       Syntax:
  5718.  
  5719.            DEFINE KEY[/qualifiers] key_name replacement_string
  5720.  
  5721.       Examples:
  5722.  
  5723.            DEFINE KEY/NOECHO F11 CLS
  5724.            DEFINE KEY/NOECHO F12 DIR/SINCE=YESTERDAY
  5725.  
  5726.       Qualifiers:
  5727.  
  5728.          /[NO]ECHO  Display  replacement  string  when  replacement  takes
  5729.                  place.
  5730.  
  5731.          /GOLD "Gold" key must be pressed before the defined key.
  5732.  
  5733.          /[NO]LETTER key_name is a character, not a function key.
  5734.  
  5735.          /[NO]TERMINATE Insert carriage-return after replacement.
  5736.  
  5737.  
  5738.  
  5739.       14.21 DELETE
  5740.  
  5741.       DELETE deletes one or more files from the disk.
  5742.  
  5743.       Syntax:
  5744.  
  5745.            DELETE[/qualifiers] filespec
  5746.  
  5747.       Qualifiers:
  5748.  
  5749.          /ALLOCATION Display allocated size of  file  rather  than  actual
  5750.                  size.
  5751.  
  5752.          /BEFORE[=date-time]  Selects filescreated before a given date and
  5753.                  time.
  5754.  
  5755.          /[NO]CONFIRM Request confirmation before deleting each file.
  5756.  
  5757.          /DATE[=date] Delete files created on the given date.
  5758.  
  5759.       Chapter 14. TSX Command Summary                                  100
  5760.  
  5761.  
  5762.          /ERASE Actually erase contents of file from the disk.
  5763.  
  5764.          /EXCLUDE=(files) Do not delete files specified in list.
  5765.  
  5766.          /[NO]LOG Display file information as each file is deleted.
  5767.  
  5768.          /NEWFILE Delete only files created today.
  5769.  
  5770.          /[NO]QUERY Same as /[NO]CONFIRM.
  5771.  
  5772.          /SINCE[=date-time] Delete files created since specified date  and
  5773.                  time.
  5774.  
  5775.  
  5776.  
  5777.       14.22 DETACH
  5778.  
  5779.       DETACH initiates execution of a detached job.
  5780.  
  5781.       Syntax:
  5782.  
  5783.            DETACH[/qualifiers] filespec arguments
  5784.            DETACH[/qualifiers] command
  5785.  
  5786.       Qualifiers:
  5787.  
  5788.          /[NO]COMMAND  Detach  command  is a system command, not a command
  5789.                  file.
  5790.  
  5791.          /[NO]IDENTIFY  Print  detached  job  ID  on  terminal.   Default:
  5792.                  IDENTIFY
  5793.  
  5794.          /[NO]INHERIT (Default) Inherit attributes from the parent job.
  5795.  
  5796.          /LOGFILE=filename Write log information to specified file.
  5797.  
  5798.          /NAME=job_name Specify the job name.
  5799.  
  5800.          /[NO]NOTIFY (Default) Notify when job is completed.
  5801.  
  5802.          /PRIORITY=value Run job at specified priority.
  5803.  
  5804.       The  DETACH  command  starts  a  detached job to execute a specified
  5805.       command  file  or   system   command.    The   detached   job   runs
  5806.       asynchronously  from your job and your job does not have to wait for
  5807.       the detached job to finish.  You can use the STOP command  to  abort
  5808.       a detached job you started.
  5809.  
  5810.       Detached  jobs  are  very similar to batch jobs described in Section
  5811.       9.3, page 53.  The main difference  is  that  detached  jobs  always
  5812.       start  immediately  whereas  there  can  be  a  queue  of batch jobs
  5813.       waiting to begin execution.  In fact, the  queue  manager  uses  the
  5814.       detached job facility to execute batch jobs.
  5815.  
  5816.       Chapter 14. TSX Command Summary                                  101
  5817.  
  5818.  
  5819.       The  type  of  parameter  specified to the DETACH command depends on
  5820.       whether the /COMMAND qualifier is specified.  If you do not  specify
  5821.       the  /COMMAND qualifier, then the parameter to the DETACH command is
  5822.       the name of a command file to be executed as a  detached  job.   You
  5823.       may  optionally  specify  parameters  for the command file following
  5824.       the command file name.  For example, the following command  executes
  5825.       the command file named BACKALL passing it one parameter MARCH:
  5826.  
  5827.            DETACH BACKALL MARCH
  5828.  
  5829.       Within  the  BACKALL  command  file,  the  MARCH  parameter could be
  5830.       accessed using either the 'P1' or ^1 notations.
  5831.  
  5832.       If the /COMMAND qualifier is specified, then the  parameter  to  the
  5833.       DETACH  command is a single system command rather than the name of a
  5834.       command file.  The effect is the same as if you  created  a  command
  5835.       file  consisting  of  only the single command and executed that as a
  5836.       detached job.  The advantage is that you do not  have  to  create  a
  5837.       command file to execute a single command as a detached job.
  5838.  
  5839.       For  example,  the  following  command  executes  a  "DIRECTORY *.C"
  5840.       command as a detached job and creates a log file named DIRLOG:
  5841.  
  5842.            DETACH/COMMAND/LOGFILE=DIRLOG DIRECTORY *.C
  5843.  
  5844.       If  the  command  being  executed  as  a   detached   job   contains
  5845.       redirection  operators  ('>'  and  '<'), then enclose the command in
  5846.       quotation marks to prevent the command processor from  applying  the
  5847.       redirection to the DETACH command itself.
  5848.  
  5849.       All  program  input for the detached job comes from the command file
  5850.       or the single command line if /COMMAND was specified.  When  all  of
  5851.       the  commands  in  the  command  file  are  exhausted, and a program
  5852.       running in the detached job tries to read  from  the  terminal,  the
  5853.       detached job is logged off.
  5854.  
  5855.       All  output directed to the terminal by programs in the detached job
  5856.       is discarded.   You  can  use  the  /LOGFILE=filename  qualifier  to
  5857.       specify  a  log  file  into which output directed to the terminal by
  5858.       the detached job will be written.
  5859.  
  5860.       You can place a SEND/PARENT command in a detached (or batch) job  to
  5861.       send a message to the initiating ("parent") job.
  5862.  
  5863.       If  you do not specify the /NOINHERIT qualifier, the following items
  5864.       of  information  are  "inherited"  by  the  detached  job  from  the
  5865.       initiating job:
  5866.  
  5867.         . Process global logical device assignment names.
  5868.  
  5869.         . Process global symbol names.
  5870.  
  5871.         . The current default working directory.
  5872.  
  5873.       Chapter 14. TSX Command Summary                                  102
  5874.  
  5875.  
  5876.         . The directory search path.
  5877.  
  5878.         . The maximum authorized execution priority.
  5879.  
  5880.         . The maximum authorized privileges.
  5881.  
  5882.         . The command prompt string.
  5883.  
  5884.         . The user and group numbers (UIC).
  5885.  
  5886.       You must have DETACH privilege to use detached jobs.
  5887.  
  5888.  
  5889.  
  5890.       14.23 DIFFERENCES
  5891.  
  5892.       DIFFERENCES  compares  two files and reports the differences between
  5893.       them.
  5894.  
  5895.       Syntax:
  5896.  
  5897.            DIFFERENCES[/qualifiers] primary_file secondary_file
  5898.  
  5899.       Qualifiers:
  5900.  
  5901.          /BINARY Same as /FAST.
  5902.  
  5903.          /CONTINUE In fast mode, report all differences between files.
  5904.  
  5905.          /[NO]EXACT (Default) Consider upper and lower case as different.
  5906.  
  5907.          /FAST Do a fast byte by byte comparison of the two files.
  5908.  
  5909.          /MAXDIF=sect Allow  this  many  difference  sections.   (Default:
  5910.                  100)
  5911.  
  5912.          /MAXSECTION=n   Allow   n   records   in  a  difference  section.
  5913.                  (Default: 50)
  5914.  
  5915.          /NUMBER Display record numbers.
  5916.  
  5917.          /OUTPUT[=file] Redirects output to file.
  5918.  
  5919.          /RECLEN=length Specify  the  maximum  record  length.   (Default:
  5920.                  1024)
  5921.  
  5922.       DIFFERENCES  features  two  different  modes of operation.  The most
  5923.       common of these is a record oriented mode intended  for  text  files
  5924.       which  produces  an  output report displaying each area in which the
  5925.       two files differ.  A second, faster mode, suited for  comparing  two
  5926.       binary  files,  simply compares the files character by character and
  5927.       determines whether they  are  the  same  or  different.   This  mode
  5928.       reports  the  byte  position  from  the beginning of the file of any
  5929.       mismatch.  By default DIFFERENCES operates in  ASCII  mode;  if  you
  5930.  
  5931.       Chapter 14. TSX Command Summary                                  103
  5932.  
  5933.  
  5934.       want  the  fast,  binary  mode,  specify either the /FAST or /BINARY
  5935.       qualifiers.
  5936.  
  5937.       When operating in fast mode, DIFFERENCES  reads  large  portions  of
  5938.       each  file  and  compares  them  character  by  character.   When  a
  5939.       mismatch between the two files is  discovered,  DIFFERENCES  reports
  5940.       the  position  of  the mismatch and stops.  The position reported is
  5941.       the byte position relative to the start of the file.
  5942.  
  5943.       If you need to know all the bytes which differ  between  two  files,
  5944.       specify the /CONTINUE qualifier on the command line.
  5945.  
  5946.       In  the normal mode of operation, DIFFERENCES reads records from the
  5947.       primary file and tries to locate each one  in  the  secondary  file.
  5948.       As  it  locates  matching  records,  DIFFERENCES  updates  a current
  5949.       record position in the each file.
  5950.  
  5951.       When a  section  in  which  the  two  files  differ  is  encountered
  5952.       DIFFERENCES  reports  the  section.   Each  such report includes the
  5953.       following.
  5954.  
  5955.         . The name of the primary input file.
  5956.  
  5957.         . Records from the primary file, beginning with  any  last  record
  5958.           found  in  the  secondary file, followed by any records from the
  5959.           primary file which could not be located in the  secondary  file,
  5960.           ending  with  any  record  which  again  could  be  found in the
  5961.           secondary file.
  5962.  
  5963.         . The name of the secondary input file.
  5964.  
  5965.         . Records from the secondary file, beginning with any last  record
  5966.           which  matched  a  primary  file record, followed by any records
  5967.           which do not match primary file records, ending with any  record
  5968.           which did match a primary file record.
  5969.  
  5970.       When  DIFFERENCES  can not locate the current primary file record in
  5971.       the secondary file it will not search all the way to the end of  the
  5972.       secondary   file   looking  for  it.   The  /MAXSECTION=n  qualifier
  5973.       controls how far forward DIFFERENCES will look.  If DIFFERENCES  can
  5974.       not  locate  a  primary  file record at all, the record is listed in
  5975.       the differences section and the comparison continues with  the  next
  5976.       record from the primary file.
  5977.  
  5978.       The   /MAXSECTION  qualifier  also  controls  how  many  consecutive
  5979.       primary file records are allowed  not  to  match  records  from  the
  5980.       secondary  file.   If  this  limit is exceeded DIFFERENCES gives up,
  5981.       assuming the differences between the two files are too extensive  to
  5982.       describe.
  5983.  
  5984.       Usually  DIFFERENCES  directs output to the terminal.  Output can be
  5985.       redirected to a file by specifying  the  /OUTPUT=file  qualifier  or
  5986.       using a redirection operator on the command line.
  5987.  
  5988.       Chapter 14. TSX Command Summary                                  104
  5989.  
  5990.  
  5991.       DIFFERENCES  sets  the  $STATUS  symbol to the number of differences
  5992.       encountered.  This allows command  procedures  to  take  conditional
  5993.       action when two files differ.
  5994.  
  5995.  
  5996.  
  5997.       14.24 DIRECTORY
  5998.  
  5999.       DIRECTORY displays information about a file or a list of files.
  6000.  
  6001.       Syntax:
  6002.  
  6003.            DIRECTORY[/qualifiers] filespec
  6004.  
  6005.       Qualifiers:
  6006.  
  6007.          /[NO]ACROSS Display sorted files across the screen.
  6008.  
  6009.          /BEFORE[=date-time]  Display  files  created  before a given date
  6010.                  and time.
  6011.  
  6012.          /[NO]BLOCKS List file sizes in units of 512 byte  blocks  [or  in
  6013.                  bytes].
  6014.  
  6015.          /[NO]BRIEF List only directory headers and file names.
  6016.  
  6017.          /COLUMNS=n Use this many columns for display.
  6018.  
  6019.          /[NO]CREATION_DATE=n   Use   this  many  columns  for  file  date
  6020.                  display.
  6021.  
  6022.          /DATE[=date] Select files created on the specified date.
  6023.  
  6024.          /[NO]DESCENDING Display files in descending order.
  6025.  
  6026.          /DIRECTORY List only subdirectories.
  6027.  
  6028.          /[NO]DOWN Sort items in columns on the screen.
  6029.  
  6030.          /EXCLUDE=(files) Exclude specified files.
  6031.  
  6032.          /[NO]FAST Same as /BRIEF.
  6033.  
  6034.          /[NO]FORMAT[=parts]  Produce  output  suitable  for  input  to  a
  6035.                  program.  If used, parts must be one of the following:
  6036.  
  6037.                  NONODE       Omit node specification, if any.
  6038.                  NODEVICE     Omit device specification
  6039.                  NODIRECTORY  Omit directory specification
  6040.                  NONAME       Omit file name
  6041.                  NOEXTENSION  Omit file extension
  6042.                  NOTYPE       Omit file extension
  6043.  
  6044.          /FREE Report only free space on disk.
  6045.  
  6046.       Chapter 14. TSX Command Summary                                  105
  6047.  
  6048.  
  6049.          /[NO]GRAND Report only grand total size of specified files.
  6050.  
  6051.          /[NO]HEADER (Default) Include header line in listing.
  6052.  
  6053.          /LOWCASE List file names in lower case.
  6054.  
  6055.          /[NO]NAME[=n] Use this many columns for file name.  Default: 12
  6056.  
  6057.          /NEWFILES List only files created today.
  6058.  
  6059.          /[NO]NUMBNU[=n]  Assign  sequential numbers to files; n specifies
  6060.                  number of columns to be use for numbers.
  6061.  
  6062.          /ORDER[=sort_key]  Sort  file  list  on  the  specified   key(s).
  6063.                  Sort_key must be one of the following:
  6064.  
  6065.                  ALLOCATED       Space file takes on disk.
  6066.                  CREATED         Creation date.
  6067.                  CREATION_DATE   Creation date.
  6068.                  DIRECTORY       File directory.
  6069.                  EXTENSION       File name extension.
  6070.                  NAME            Primary file name.
  6071.                  SIZE_ALLOCATED  Space file takes on disk.
  6072.                  SIZE_USED       File space actually used.
  6073.                  TYPE            File name extension.
  6074.                  USED            File space actually used.
  6075.  
  6076.          /OUTPUT[=file]  Send  output  to  the  specified  file.  Default:
  6077.                  DIRECT.LST
  6078.  
  6079.          /PAUSE Pause after each screen of output.
  6080.  
  6081.          /REVERSE Same as /DESCENDING.
  6082.  
  6083.          /SINCE[=date-time] Select files created since a  given  date  and
  6084.                  time.
  6085.  
  6086.          /[NO]SIZE[=sizespec]  Include  file  sizes  in listing.  If used,
  6087.                  sizespec must be one of the following:
  6088.  
  6089.                  ALL             Show both size allocated and used.
  6090.                  ALLOCATED       Show space file takes on disk.
  6091.                  USED            Show actual size of file.
  6092.  
  6093.          /SORT[=sort_key] Same as /ORDER.
  6094.  
  6095.          /[NO]TOTAL Same as /[NO]GRAND
  6096.  
  6097.          /[NO]TRAILER (Default) Include trailer lines in listing.
  6098.  
  6099.          /WIDTH=n Use this width for output.
  6100.  
  6101.       You can use the "\...\" wildcard notation to obtain a  directory  of
  6102.       all  files  in  a  directory tree.  See Section 5.2, on page 39, for
  6103.       additional information about wildcards.
  6104.  
  6105.       Chapter 14. TSX Command Summary                                  106
  6106.  
  6107.  
  6108.       See the description of the FMAN command on page 111 for  information
  6109.       about a screen-oriented file management program.
  6110.  
  6111.  
  6112.  
  6113.       14.25 DISPLAY
  6114.  
  6115.       DISPLAY displays a text string on your terminal.
  6116.  
  6117.  
  6118.  
  6119.       14.26 DOS
  6120.  
  6121.       DOS  Invokes  the  DOS command processor (COMMAND.COM).  See Section
  6122.       4.5 on page 31 for additional information about this command.
  6123.  
  6124.       Syntax:
  6125.  
  6126.            DOS[/qualifiers] [dos_command]
  6127.  
  6128.       Qualifiers are the same as for the RUN command.
  6129.  
  6130.  
  6131.  
  6132.       14.27 DUMP
  6133.  
  6134.       DUMP provides various formatted displays of the contents of a file.
  6135.  
  6136.       Syntax:
  6137.  
  6138.            DUMP[/qualifiers] filespec
  6139.  
  6140.       Qualifiers:
  6141.  
  6142.          /[NO]ASCII(Default)  Display   ASCII   representation   of   each
  6143.                  character.
  6144.  
  6145.          /BLOCK  (Default)  Dump  is  block  oriented  instead  of  record
  6146.                  oriented.
  6147.  
  6148.          /COLUMNS=columns Display this many columns in the output.
  6149.  
  6150.          /CONTINUOUS Display offset from start of file  instead  of  start
  6151.                  of block.
  6152.  
  6153.          /COUNT=count Dump this many blocks or records.
  6154.  
  6155.          /DRADIX=radix Use this radix (2,8,10, or 16).  Default: 16
  6156.  
  6157.          /END=value Stop dump at this block or record.
  6158.  
  6159.          /FORMAT=name Use this format: DEFAULT or COLUMN.
  6160.  
  6161.          /[NO]HEADER  (Default) Display header lines introducing each line
  6162.                  or block.
  6163.  
  6164.       Chapter 14. TSX Command Summary                                  107
  6165.  
  6166.  
  6167.          /LOGICAL Read logical blocks instead of virtual blocks (for  disk
  6168.                  partition).
  6169.  
  6170.          /LONGWORD   (Default)   Display   32-bit  longwords  as  separate
  6171.                  entities.
  6172.  
  6173.          /MAXREC=value Specify the longest record in the  file.   Default:
  6174.                  2048.
  6175.  
  6176.          /NRADIX=radix  Use this radix for offset numbers (2,8,10, or 16).
  6177.                  Default: 16.
  6178.  
  6179.          /[NO]NUMBER (Default) Display labels for byte numbers.
  6180.  
  6181.          /OUTPUT=file Write output to the specified file.
  6182.  
  6183.          /PHYSICAL Read physical blocks instead  of  virtual  blocks  (for
  6184.                  disk partitions).
  6185.  
  6186.          /NRADIX=radix Use this radix for data and offset labels.
  6187.  
  6188.          /RECORD Display individual records instead of blocks.
  6189.  
  6190.          /START=value Begin display at this block or record.
  6191.  
  6192.          /WIDTH=width  Specify  how  wide  the output should be.  Default:
  6193.                  80.
  6194.  
  6195.          /WORD Display  16-bit  words  as  separate  entities  instead  of
  6196.                  longwords.
  6197.  
  6198.  
  6199.  
  6200.       14.28 EDIT
  6201.  
  6202.       EDIT  Invokes the EDIT-32 (E32) editor program.  EDIT-32 is designed
  6203.       to facilitate the migration of users familiar with the EVE  and  KED
  6204.       editors  on  DEC computer systems.  See REGISTER.DOC for information
  6205.       about ordering an EDIT-32 Reference Manual.
  6206.  
  6207.  
  6208.  
  6209.       14.29 EVALUATE
  6210.  
  6211.       EVALUATE evaluates an  expression  and  print  the  result  at  your
  6212.       terminal.   Symbols  may  be  used  in the expression.  See also the
  6213.       description  of  the  CALCULATE  command  for  a   general   numeric
  6214.       expression calculator.
  6215.  
  6216.       Examples:
  6217.  
  6218.            EVALUATE 12*15*3
  6219.            EVALUATE NUMFILES + 3
  6220.  
  6221.       Chapter 14. TSX Command Summary                                  108
  6222.  
  6223.  
  6224.       The  EVALUATE  command  is  a  convenient  way to evaluate a command
  6225.       expression and display the result at your  terminal.   The  EVALUATE
  6226.       command  is  especially  convenient  for  experimenting with lexical
  6227.       functions (see Section 9.10).
  6228.  
  6229.  
  6230.  
  6231.       14.30 EVENT
  6232.  
  6233.       EVENT Displays records in  an  event  log  file.   The  SHOW  EVENTS
  6234.       command does this in a screen-oriented fashion.
  6235.  
  6236.       Syntax:
  6237.  
  6238.            EVENT[/qualifiers] eventlog
  6239.  
  6240.       Qualifiers:
  6241.  
  6242.          /DATE Display date record was written in output.
  6243.  
  6244.          /DELETE Delete the specified event log file.
  6245.  
  6246.          /OUTPUT=file Send output to specified file.
  6247.  
  6248.          /[NO]SCREEN (Default) Display output on screen.
  6249.  
  6250.          /TIME Display time record was written in output.
  6251.  
  6252.  
  6253.  
  6254.       14.31 EXIT
  6255.  
  6256.       EXIT  terminates  command  file  and returns to higher level command
  6257.       file or the keyboard monitor.  This command will also exit  the  DOS
  6258.       command interpreter (entered using the DOS command).
  6259.  
  6260.       Syntax:
  6261.  
  6262.            EXIT[/qualifiers]
  6263.  
  6264.       Qualifiers:
  6265.  
  6266.          /ABORT  Abort  higher  level  command files and return to command
  6267.                  prompt.
  6268.  
  6269.          /STATUS=value Return the specified exit status code.
  6270.  
  6271.  
  6272.  
  6273.       14.32 EXPAND
  6274.  
  6275.       The EXPAND command is used to generate a command file consisting  of
  6276.       a  set  of  commands  merged with a set of file specifications.  You
  6277.       could, for example,  use  EXPAND  to  generate  a  command  file  to
  6278.       compile  all  source files in a certain directory.  The set of files
  6279.  
  6280.       Chapter 14. TSX Command Summary                                  109
  6281.  
  6282.  
  6283.       may be specified with wildcard file specifications much the same  as
  6284.       for the DIRECTORY command.
  6285.  
  6286.       Syntax:
  6287.  
  6288.            EXPAND[/qualifiers] filespec "command"
  6289.  
  6290.          filespec  is  a filename or a comma separated list of file names.
  6291.                  Each file name may include wildcards.  See  Section  5.2,
  6292.                  page  39,  for  more information about wildcards.  Fields
  6293.                  not specified on a file name are taken from the  previous
  6294.                  file  name  in  the  command  if  one has been specified.
  6295.                  Otherwise directory and device fields are taken from  the
  6296.                  current default directory.
  6297.  
  6298.                  You   may   also   specify   a  file  name  of  the  form
  6299.                  "@filespec".    In   this   case,   the   set   of   file
  6300.                  specifications   to   be  merged  with  the  commands  is
  6301.                  provided in the file specified by filespec.
  6302.  
  6303.          command specifies the command(s) to be  executed  once  for  each
  6304.                  file  selected.   The commands you specify should include
  6305.                  substitution  constructs,  explained  below,  which  tell
  6306.                  EXPAND  where  the  name  of  the selected file should be
  6307.                  inserted  in  the  command.   The  command  specification
  6308.                  should be enclosed in quote marks.
  6309.  
  6310.       Qualifiers:
  6311.  
  6312.          /ARCHIVE Select files with the archive attribute set.
  6313.  
  6314.          /BEFORE[=date-time]  Select files created before a given date and
  6315.                  time.
  6316.  
  6317.          /DATE[=date] Select files created on the given date.
  6318.  
  6319.          /DIR=dir-command Execute this  command  for  each  new  directory
  6320.                  encountered.
  6321.  
  6322.          /EXCLUDE=(files) Don't process specified files.
  6323.  
  6324.          /HEADER="text"  Insert  specified text at start of output command
  6325.                  file.
  6326.  
  6327.          /NEW Only include files created today.
  6328.  
  6329.          /OUTPUT[=file] Specify the  name  of  the  output  command  file.
  6330.                  Default: ALL.CMD
  6331.  
  6332.          /RECORD Clear archive bit on processed files.
  6333.  
  6334.          /SINCE[=date-time]  Selects  files created since a given date and
  6335.                  time.
  6336.  
  6337.       Chapter 14. TSX Command Summary                                  110
  6338.  
  6339.  
  6340.          /TRAILER="text" Insert specified text at end  of  output  command
  6341.                  file.
  6342.  
  6343.       The  "command"  parameter to the EXPAND command specifies the format
  6344.       of the commands which are written to the  output  command  file  for
  6345.       each  selected  file.  Substitution constructs of the form "|letter"
  6346.       (vertical bar followed by one or more letters)  inside  the  command
  6347.       are  used to instruct EXPAND where to place the name of each file in
  6348.       the command.  As a simple example,  consider  the  following  EXPAND
  6349.       command:
  6350.  
  6351.            EXPAND *.C "CC |A"
  6352.  
  6353.       This   EXPAND   command  generates  a  command  file  named  ALL.CMD
  6354.       containing commands to perform the "CC" command on  each  file  with
  6355.       an  extension  of  ".C".   The  "|A"  construct  instructs EXPAND to
  6356.       insert the entire filename into the command at  the  position  where
  6357.       "|A"   occurs.    The  resulting  ALL.CMD  file  might  contain  the
  6358.       following commands:
  6359.  
  6360.            CC INIT.C
  6361.            CC MAIN.C
  6362.            CC EXIT.C
  6363.  
  6364.       Note that all the text besides  substitution  constructs  is  copied
  6365.       verbatim  from  your  command  specification  to  each  line  of the
  6366.       generated command procedure.
  6367.  
  6368.       The following substitution operators may  be  used  in  the  command
  6369.       string:
  6370.  
  6371.             |A   Entire filename.
  6372.             |N   Device name.
  6373.             |D   Directory name.
  6374.             |F   File name.
  6375.             |E   Extension (with leading period).
  6376.             |V   A VAX/VMS style directory.
  6377.             |-D  File name with no device or directory.
  6378.             |-E  File name with no extension.
  6379.             |/   Begin a new line.
  6380.             ||   Literal '|' (vertical bar) character.
  6381.  
  6382.  
  6383.  
  6384.       14.33 FILEWATCH
  6385.  
  6386.       The  FILEWATCH  command  causes  TSX  to create an event log file to
  6387.       record all accesses to a specified file or group of files.
  6388.  
  6389.       Syntax:
  6390.  
  6391.            FILEWATCH[/qualifiers] filespec
  6392.  
  6393.       Chapter 14. TSX Command Summary                                  111
  6394.  
  6395.  
  6396.       Qualifiers:
  6397.  
  6398.          /[NO]READ (default) Monitor file reads.
  6399.  
  6400.          /[NO]WRITE (default) Monitor file writes.
  6401.  
  6402.          /NONE Disable monitoring of the file.
  6403.  
  6404.       The FILEWATCH command causes TSX to monitor accesses  to  all  files
  6405.       that  match  the  "filespec"  specification.   This  is  useful  for
  6406.       security purposes or any other time that you want to determine  who,
  6407.       if  anyone,  is  accessing  or  altering a particular file or set of
  6408.       files.  The file accesses that  are  monitored  are:  open,  create,
  6409.       delete, and rename.
  6410.  
  6411.       When  you  issue  a FILEWATCH command, TSX creates an event log file
  6412.       named FWATCH (if it does not already exist).  Use  the  SHOW  EVENTS
  6413.       command  described on page 152 to monitor events in the FWATCH event
  6414.       log file.  See Section 10.6 on page 68  for  additional  information
  6415.       about event logs.
  6416.  
  6417.       If  no  qualifiers  are specified, both read and write type accesses
  6418.       are monitored.  Use the /NOREAD and /NOWRITE qualifiers  to  disable
  6419.       either  type of monitoring.  The /NONE qualifier disables monitoring
  6420.       of the specified file.
  6421.  
  6422.       The "filespec" parameter to the command is  the  file  specification
  6423.       that  is  to  be monitored.  This specification may include wildcard
  6424.       characters in the file name,  extension,  and  directory.   You  may
  6425.       also  use  the  "..."  wildcard operator in the directory portion to
  6426.       monitor all file accesses in or  below  a  certain  directory.   The
  6427.       device  name  portion  of the specification may not include wildcard
  6428.       characters.  For example, the following command monitors  all  write
  6429.       type  accesses  to  all  files  in  the  C:\PHIL  directory  and all
  6430.       directories below it:
  6431.  
  6432.            FILEWATCH/NOREAD C:\PHIL\...\*.*
  6433.  
  6434.       SYSPRV privilege is required to use the FILEWATCH command.
  6435.  
  6436.  
  6437.  
  6438.       14.34 FMAN
  6439.  
  6440.       FMAN The full screen file management utility.  Use  FMAN  to  manage
  6441.       files and directories, and control file access.
  6442.  
  6443.       Syntax:
  6444.  
  6445.            FMAN [directory]
  6446.  
  6447.       In  response  to  the FMAN command, TSX displays a list of the files
  6448.       in the current directory or the directory that was specified on  the
  6449.       command  line.   For  each  file,  the  name,  extension,  size  and
  6450.       date/time of  last  modification  are  displayed.   The  letter  'P'
  6451.  
  6452.       Chapter 14. TSX Command Summary                                  112
  6453.  
  6454.  
  6455.       appears  in  the  right most column if the file is protected against
  6456.       deletion.     Use    the    Up-arrow/Down-arrow    keys    or    the
  6457.       Page-up/Page-down  keys  to  move  through the list of files.  Press
  6458.       ESC (or "Do" on a DEC VT series terminal) to exit from FMAN.
  6459.  
  6460.       A menu of action keys appears to the right of the file list;  choose
  6461.       an  action  by  typing  the appropriate key.  Each of the actions is
  6462.       described below:
  6463.  
  6464.          Enter = Mark/Unmark -- If you are performing the same  action  on
  6465.                  a  group  of  files, it is sometimes easier to "mark" the
  6466.                  set of files and then apply  the  action  to  the  entire
  6467.                  set.   When  you  press  Enter  the currently highlighted
  6468.                  file is marked and an indicator appears to  the  left  of
  6469.                  its  name.   If  you  reselect  the  file and press Enter
  6470.                  again, the mark will be removed.
  6471.  
  6472.          A = Attributes -- Pressing "A" causes  a  menu  to  appear  which
  6473.                  allows  you  to  protect  or  unprotect a file, or set of
  6474.                  files, against deletion.  If you  have  BYPASS  privilege
  6475.                  you  will  also  be  given menu choices for modifying the
  6476.                  access controls for a file.
  6477.  
  6478.          C = Copy -- A box appears  requesting  the  destination  for  the
  6479.                  copy.   If  you  are  copying  a set of files, you should
  6480.                  specify a wildcard for  the  destination  file  names  so
  6481.                  that  the  original file names will be used for the newly
  6482.                  created files.
  6483.  
  6484.          D = Delete -- A confirmation box appears asking you  if  you  are
  6485.                  sure you want to delete the selected file(s).
  6486.  
  6487.          E  =  Edit -- The EDIT--32 editor is invoked to edit the selected
  6488.                  file.  The FMAN display resumes when you  exit  from  the
  6489.                  editor.
  6490.  
  6491.          F  =  Find file -- A box appears asking for a search string.  You
  6492.                  may type an entire file specification or only  the  first
  6493.                  letter  or  two  of  a  file  name.  The list of files is
  6494.                  searched  and  the  first  file  name  that  matches  the
  6495.                  letters you type is selected.
  6496.  
  6497.          G  = Go into directory -- You may type this to begin browsing the
  6498.                  subdirectory whose file name is currently selected.   The
  6499.                  right  arrow  key  may  also  be  used  to  perform  this
  6500.                  operation.
  6501.  
  6502.          H = Higher directory -- This causes FMAN  to  leave  the  current
  6503.                  directory  and  display  files in the directory above the
  6504.                  current directory (i.e., closer to the root).   The  left
  6505.                  arrow  key  will  also  perform  this  operation.  If you
  6506.                  continue to type 'H' (or left arrow) you will  eventually
  6507.                  be  presented  with  a list of the disks installed in the
  6508.                  computer.
  6509.  
  6510.       Chapter 14. TSX Command Summary                                  113
  6511.  
  6512.  
  6513.          K = Make directory -- This action allows  you  to  create  a  new
  6514.                  subdirectory.   A  box appears asking for the name of the
  6515.                  directory to create.
  6516.  
  6517.          L = Mark all  --  Marks  all  files  in  the  current  directory.
  6518.                  Equivalent  to  moving  down  the list and pressing Enter
  6519.                  for each file.
  6520.  
  6521.          M = Move file -- Copies the selected files to a destination  that
  6522.                  you  specify  and then deletes the files from the current
  6523.                  directory.
  6524.  
  6525.          N = New directory -- You will be prompted for the name of  a  new
  6526.                  directory whose files will be displayed.
  6527.  
  6528.          R  = Rename file -- You will be prompted for the new name for the
  6529.                  selected file(s).
  6530.  
  6531.          S = Sort list -- This action causes FMAN to reorder the  list  of
  6532.                  file  names.   A  menu will appear allowing you to select
  6533.                  the item to  sort  on  (name,  extension,  date/time,  or
  6534.                  size)   and   another  menu  will  allow  you  to  select
  6535.                  ascending or descending order.
  6536.  
  6537.          U = Unmark all -- All marked files are unmarked.
  6538.  
  6539.          X = Exit -- Exit from FMAN.  Equivalent to typing ESC.
  6540.  
  6541.       FMAN is also used to control which  files  and/or  directories  each
  6542.       TSX  user  may  access.   The  access control is based on a user and
  6543.       group ID code that is assigned by the system manager and  associated
  6544.       with  the user name entered to the LOGON program.  (TSAUTH and LOGON
  6545.       are part of the TSX-Lite Security Kit.)
  6546.  
  6547.       If you have BYPASS privilege, the right most column of  the  primary
  6548.       file  display  list  will  be labeled "PA" The letter 'A' appears in
  6549.       this column if there are  file  access  control  entries  associated
  6550.       with  the  file.   To  modify the access control entries for a file,
  6551.       type 'A' to select the Attributes  menu  item,  and  then  type  'A'
  6552.       again to select the Access control entry from the attributes menu.
  6553.  
  6554.       To  set access controls for an entire disk, type 'H' (or left arrow)
  6555.       until you reach the menu with the disk  drive  names.   Then  select
  6556.       the  appropriate  drive  entry  and  type  'A'  to invoke the access
  6557.       control list display for the disk.
  6558.  
  6559.       The access control list screen displays all access  control  entries
  6560.       that  are  in  effect  for the selected file or directory.  To add a
  6561.       new entry type 'A', to delete an entry type 'D', to modify an  entry
  6562.       type 'Enter'.
  6563.  
  6564.       The  first  field in the access control entry box is the name of the
  6565.       user whose access to the file or  directory  is  to  be  controlled.
  6566.       You  may type one of three things: (1) a valid user name that exists
  6567.       in the TSX account authorization file,  (2)  a  group/member  number
  6568.  
  6569.       Chapter 14. TSX Command Summary                                  114
  6570.  
  6571.  
  6572.       written  in  square  brackets  (e.g., "[121,47]"), or (3) a question
  6573.       mark, in which case you will be presented with a list of  authorized
  6574.       users  when  you  exit  by pressing ESC.  If you specify a group and
  6575.       member number, you may specify  an  asterisk  ('*')  as  a  wildcard
  6576.       character  to  match  any group number, member number, or both.  For
  6577.       example [233,*] would match any member number but  applies  only  to
  6578.       users in group 233.  Similarly, [*,*] applies to all users.
  6579.  
  6580.       The  next  three  items  control  the  type  of access the specified
  6581.       user(s) will have to  the  file.   If  you  specify  'Y'  for  write
  6582.       access,  the  user  will have full access and may write to the file,
  6583.       delete the file, rename the file, and  execute  the  file.   If  you
  6584.       specify  'Y'  for  read access, the user may read the file, copy it,
  6585.       and execute it but may not delete or otherwise modify the file.   If
  6586.       you  specify  'Y'  for execute access, the user may execute the file
  6587.       but may not read, copy, or modify the file.
  6588.  
  6589.       Press ESC to exit from the access control entry box.
  6590.  
  6591.  
  6592.  
  6593.       14.35 FORMAT
  6594.  
  6595.       FORMAT Formats diskettes.
  6596.  
  6597.       Syntax:
  6598.  
  6599.            FORMAT drive: [/qualifiers]
  6600.  
  6601.       Qualifiers:
  6602.  
  6603.          /4 indicates that this is a 360K diskette in a 1220K drive.
  6604.  
  6605.          /7 indicates that this is a 720K diskette in a 1440K drive.
  6606.  
  6607.          /8 formats 8 sectors per track.
  6608.  
  6609.          /N:n Formats n sectors per track.
  6610.  
  6611.          /O formats a diskette which is compatible with  versions  1.x  of
  6612.                  DOS.
  6613.  
  6614.          /T:n Formats a diskette with n tracks.  (Maximum 80)
  6615.  
  6616.          /V prompts for a volume label for the disk.
  6617.  
  6618.          /[NO]QUERY  (Default)  prompts  for  a  diskette before and after
  6619.                  format.
  6620.  
  6621.       Chapter 14. TSX Command Summary                                  115
  6622.  
  6623.  
  6624.       14.36 GOTO
  6625.  
  6626.       GOTO Transfers control to a label in a command file.
  6627.  
  6628.       Syntax:
  6629.  
  6630.            GOTO label
  6631.  
  6632.  
  6633.  
  6634.       14.37 HANLOAD
  6635.  
  6636.       HANLOAD Used by  the  system  manager  to  install  loadable  device
  6637.       drivers.   Normally  HANLOAD commands are generated automatically by
  6638.       the  MAKELOAD  program  and  placed  in  the  system  startup   file
  6639.       TSXLOAD.CMD.   Only  certain  foreign  terminal support handlers are
  6640.       supported by TSX-Lite.
  6641.  
  6642.  
  6643.  
  6644.       14.38 HELP
  6645.  
  6646.       HELP Displays information about system commands and options.
  6647.  
  6648.       Syntax:
  6649.  
  6650.            HELP [topic]
  6651.  
  6652.  
  6653.  
  6654.       14.39 IF
  6655.  
  6656.       The IF command evaluates  a  logical  expression  and  conditionally
  6657.       executes  a command if the value of the expression is true.  The DOS
  6658.       forms of the IF command are also supported.
  6659.  
  6660.       Syntax:
  6661.  
  6662.            IF expression THEN command
  6663.  
  6664.       DOS Style Syntax:
  6665.  
  6666.            IF ERRORLEVEL value command
  6667.            IF EXIST filespec command
  6668.            IF string1==string2 command
  6669.  
  6670.       Examples:
  6671.  
  6672.            IF X .EQ. Y THEN GOTO END
  6673.            IF ERRORLEVEL 1 THEN EXIT
  6674.            IF EXIST FILE.TXT THEN GOTO READFILE
  6675.  
  6676.       The expression is evaluated; it may contain  operators  and  lexical
  6677.       functions.   If  its  value  contains any characters other than 0 or
  6678.       space it is considered to be true and the command following THEN  is
  6679.  
  6680.       Chapter 14. TSX Command Summary                                  116
  6681.  
  6682.  
  6683.       executed.   If  the  value  of  expression  is  zero  or  null,  the
  6684.       controlled command is not executed.
  6685.  
  6686.       For example, the statement:
  6687.  
  6688.            IF SYM1 .EQS. "this is a string" THEN DISPLAY Strings matched
  6689.  
  6690.       compares the string "this is a string" with the value of the  symbol
  6691.       SYM1.   Note  that  it  was  not  necessary  to  use  the apostrophe
  6692.       substitution operator to get the value of SYM1.
  6693.  
  6694.       Examples:
  6695.  
  6696.            S1:= string1
  6697.            S2:= string2
  6698.            IF S1 .EQS. S2 THEN DISPLAY S1 is equal to S2
  6699.  
  6700.       This test compares the values of the symbols S1  and  S2.   In  this
  6701.       case  the  strings  are  not  equal,  so  the DISPLAY command is not
  6702.       executed.
  6703.  
  6704.            I = 1;
  6705.            IF I .LT. 10 THEN @DOMORE
  6706.  
  6707.       In this example the expression is true, so the DOMORE  command  file
  6708.       is executed.
  6709.  
  6710.       The  expression  can be quite complex and involve lexical functions.
  6711.       For example, the statement:
  6712.  
  6713.            IF (COUNT.LE.10).OR.$LENGTH(ANSWER).LT.3 THEN EXIT
  6714.  
  6715.       executes the EXIT statement if the value of COUNT is  less  than  or
  6716.       equal  to ten or the length of the string associated with the ANSWER
  6717.       symbol is less than 3.  See Section 9.10 for additional  information
  6718.       about lexical functions.
  6719.  
  6720.  
  6721.  
  6722.       14.40 INITIALIZE
  6723.  
  6724.       INITIALIZE  Initializes  removable  disks  and  tapes.  This has the
  6725.       effect of deleting all files on the device.
  6726.  
  6727.       Syntax:
  6728.  
  6729.            INITIALIZE drive
  6730.  
  6731.  
  6732.  
  6733.       14.41 INQUIRE
  6734.  
  6735.       INQUIRE Reads a string  from  the  terminal  and  assigns  it  to  a
  6736.       symbol.
  6737.  
  6738.       Chapter 14. TSX Command Summary                                  117
  6739.  
  6740.  
  6741.       Syntax:
  6742.  
  6743.            INQUIRE symbol [prompt]
  6744.  
  6745.       Examples:
  6746.  
  6747.            INQUIRE YESNO Do you wish to continue?
  6748.  
  6749.       The  INQUIRE  command gets a string from the terminal and assigns it
  6750.       to a local symbol.  The input comes from  the  terminal  even  if  a
  6751.       command  file  is  in  operation.  Since the input always comes from
  6752.       the terminal, this command is useful for prompting for  values  from
  6753.       within  a  command  file.   The  value  which  is collected from the
  6754.       terminal is the entire input line, including any spaces.
  6755.  
  6756.  
  6757.  
  6758.       14.42 JMAN
  6759.  
  6760.       JMAN is a full screen job management utility.  Use JMAN  to  display
  6761.       information  about  currently  executing jobs and perform common job
  6762.       related system management functions.  These include displaying  open
  6763.       files for a job and killing a job.
  6764.  
  6765.       Syntax:
  6766.  
  6767.            JMAN
  6768.  
  6769.       In  response  to  the  JMAN command, TSX displays a list of the jobs
  6770.       currently executing on the system.
  6771.  
  6772.       A menu of action keys appears to the right of the job  list;  choose
  6773.       an action by typing the appropriate key.
  6774.  
  6775.  
  6776.  
  6777.       14.43 KERMIT
  6778.  
  6779.       KERMIT   Invokes  the  Kermit  file  transfer  program.   Kermit  is
  6780.       provided as  part  of  the  optional  TSX-Lite  Utilities  Kit  (see
  6781.       REGISTER.DOC).
  6782.  
  6783.  
  6784.  
  6785.       14.44 KEYLOAD
  6786.  
  6787.       The  KEYLOAD  commands loads the character mapping tables needed for
  6788.       international keyboard support.
  6789.  
  6790.       Syntax:
  6791.  
  6792.            KEYLOAD[/LINE] file.KEY
  6793.  
  6794.       Where 'file.KEY' is a keyboard mapping file  such  as  ITALY.KEY  or
  6795.       GERMAN.KEY.   If  the  /LINE  qualifier  is  specified  the keyboard
  6796.  
  6797.       Chapter 14. TSX Command Summary                                  118
  6798.  
  6799.  
  6800.       mapping applied only to the line executing the command.   Otherwise,
  6801.       it applies to all lines on the system.
  6802.  
  6803.       See Section 3.6 on page 27 for more information about this command.
  6804.  
  6805.  
  6806.  
  6807.       14.45 KILL
  6808.  
  6809.       KILL  is  a  synonym  for STOP.  See the description of STOP on page
  6810.       159 for information.
  6811.  
  6812.  
  6813.  
  6814.       14.46 LOGOFF
  6815.  
  6816.       LOGOFF Logs off the current job.  You can use  OFF  or  BYE  if  you
  6817.       prefer.
  6818.  
  6819.       Syntax:
  6820.  
  6821.            LOGOFF
  6822.            OFF
  6823.  
  6824.       Qualifiers:
  6825.  
  6826.          /NOACCOUNTING  Disables  reporting  of the accounting information
  6827.                  to your terminal.
  6828.  
  6829.  
  6830.  
  6831.       14.47 MACROS
  6832.  
  6833.       MACROS Invokes macro definition program to  edit  or  load  keyboard
  6834.       macros.
  6835.  
  6836.       Syntax:
  6837.  
  6838.            MACROS[/qualifiers] [filespec]
  6839.  
  6840.       Examples:
  6841.  
  6842.            MACROS
  6843.            MACROS/LOAD TED.MAC
  6844.  
  6845.       Qualifiers:
  6846.  
  6847.          /LOAD Load macro definitions from specified file.
  6848.  
  6849.          /SYSTEM Make macros available for all lines on the system.
  6850.  
  6851.       The  MACROS  facility  associates  a  sequence  of keystrokes with a
  6852.       single keystroke.  Macros can only be used with  workstations  which
  6853.       send  make/break  codes  into the system.  This includes the console
  6854.  
  6855.       Chapter 14. TSX Command Summary                                  119
  6856.  
  6857.  
  6858.       keyboard, PC-term terminals, and TSXTERM  terminals.   You  may  not
  6859.       used macros from ASCII terminals such as the VT300.
  6860.  
  6861.       Macros  are  most  commonly  used  to  provide a shorthand method of
  6862.       entering common commands.  For example, you may want to  define  the
  6863.       F10 key to generate the command:
  6864.  
  6865.            DIR/SINCE=YESTERDAY
  6866.  
  6867.       Macro   definitions   may   be  stored  in  a  file  and  loaded  in
  6868.       automatically when the system boots (for  system  wide  definitions)
  6869.       or when you log in (for line specific definitions).
  6870.  
  6871.       The  MACROS  command makes available macros from the specified file,
  6872.       as well as any revisions you make in edit mode.   These  definitions
  6873.       are  active  for  your time-sharing line, even after you log off and
  6874.       back on.  Use the /SYSTEM qualifier to specify that  macros  are  to
  6875.       become  available  for  all  lines  on  the  system.   Use the /LOAD
  6876.       qualifier to  load  macros  from  the  specified  file  without  any
  6877.       interactive editing.
  6878.  
  6879.       Suppose you require a shorthand method of entering the command
  6880.  
  6881.            PRINT/QUEUE=LASER1/STOCK=LETTERHEAD LEADS.TMP
  6882.  
  6883.       and  decide  that  the  key sequence ALT-P is a natural mnemonic for
  6884.       this command.  You can issue the command
  6885.  
  6886.            MACROS
  6887.  
  6888.       to operate the key definition facility in edit mode to  specify  the
  6889.       definition.   The  facility  provides  you  with instructions on the
  6890.       screen.   Commands  are  entered  with   two   keystroke   sequences
  6891.       beginning  with  the ESCAPE key.  Any other key you press allows you
  6892.       to associate a macro definition for that key.  Hence you  hold  down
  6893.       the ALT key and press P.
  6894.  
  6895.       The  macro  definition facility informs you that you are now editing
  6896.       the definition of "LALT-P" or "RALT-P",  depending  on  whether  you
  6897.       pressed  the  left  or  right  ALT  key.  The facility allows you to
  6898.       establish separate definitions for every key in each  of  six  shift
  6899.       states:  unshifted,  shifted, left ALT, right ALT, left CONTROL, and
  6900.       right CONTROL.
  6901.  
  6902.       The MACROS program will show you the  current  definition,  if  any,
  6903.       when  you  redefine  a  key.   Note  that  MACROS  is  only aware of
  6904.       keyboard macros defined in the file you are editing,  or  which  you
  6905.       have  specified  in  the  current session.  MACROS can not determine
  6906.       whether a key  has  been  defined  in  a  different  file  or  in  a
  6907.       different session.
  6908.  
  6909.       If  the  macro  is  being  used with a 16-bit DOS program that takes
  6910.       over keyboard interrupts, such as WordPerfect, the macro  definition
  6911.       may not exceed 16 characters in length.
  6912.  
  6913.       Chapter 14. TSX Command Summary                                  120
  6914.  
  6915.  
  6916.       After   you  finish  entering  the  macro  definition  press  ESCAPE
  6917.       followed by 'E' to exit the macro definition  facility.   The  macro
  6918.       you  established  will  remain  active for your line, even after you
  6919.       log off.  Only rebooting the  system  or  using  the  MACRO  command
  6920.       again will erase or alter the definition of ALT-P.
  6921.  
  6922.       Let  us  now  suppose  that you wish to store this definition in the
  6923.       file CINDY.KEY so you do not have to respecify the  definition  each
  6924.       time the system is booted.  Use the command
  6925.  
  6926.            MACROS CINDY.KEY
  6927.  
  6928.       to  create (or edit an existing) file named CINDY.KEY.  Re-enter the
  6929.       definition of ALT-P and exit normally using ESCAPE followed by 'E'.
  6930.  
  6931.       To force the macros in file CINDY.KEY to be loaded  for  your  line,
  6932.       you can place the command
  6933.  
  6934.            MACROS/LOAD CINDY.KEY
  6935.  
  6936.       in your line specific startup command procedure.
  6937.  
  6938.       If  you  wish  to  establish  system-wide macro definitions, place a
  6939.       command  of  the  following  form  in  your  SY:LSTARTUP.CMD  system
  6940.       start-up command file:
  6941.  
  6942.            MACROS/LOAD/SYSTEM filename
  6943.  
  6944.  
  6945.  
  6946.       14.48 MAIL
  6947.  
  6948.       MAIL  Starts  the MessageNet electronic mail program.  MessageNet is
  6949.       provided   with   the   optional   TSX-Lite   Utilities   Kit   (see
  6950.       REGISTER.DOC).
  6951.  
  6952.  
  6953.  
  6954.       14.49 MD
  6955.  
  6956.       MD is a synonym for MKDIR.  See MKDIR for information.
  6957.  
  6958.  
  6959.  
  6960.       14.50 MESSAGE
  6961.  
  6962.       MESSAGE  Displays  the  error  message  text  for  the specified TSX
  6963.       status code.  MSG is an equivalent.
  6964.  
  6965.       Syntax:
  6966.  
  6967.            MESSAGE message_code
  6968.  
  6969.       Chapter 14. TSX Command Summary                                  121
  6970.  
  6971.  
  6972.       Examples:
  6973.  
  6974.            MESSAGE 30010041
  6975.               ?TSX-E-INSUFMEM, Insufficient memory for allocation
  6976.            MESSAGE 301E0009
  6977.               ?RTL-E-FCH2BIG, Fortran character string too long
  6978.  
  6979.  
  6980.  
  6981.       14.51 MKDIR
  6982.  
  6983.       MKDIR Creates subdirectory  files.   It  is  equivalent  to  the  MD
  6984.       command.
  6985.  
  6986.       Syntax:
  6987.  
  6988.            MKDIR dirspec
  6989.            MD dirspec
  6990.  
  6991.  
  6992.  
  6993.       14.52 MN
  6994.  
  6995.       MN is a synonym for MAIL.
  6996.  
  6997.  
  6998.  
  6999.       14.53 OFF
  7000.  
  7001.       OFF is a synonym for LOGOFF.  See LOGOFF for information.
  7002.  
  7003.  
  7004.  
  7005.       14.54 ON
  7006.  
  7007.       ON  is  used  to  declare  a  statement that is to be executed if an
  7008.       error occurs.  You can specify different statements to  be  executed
  7009.       based on the error severity level.
  7010.  
  7011.       Syntax:
  7012.  
  7013.            ON INFORMATION THEN statement
  7014.            ON WARNING THEN statement
  7015.            ON ERROR THEN statement
  7016.            ON NONE
  7017.  
  7018.       Specify  one of the keywords INFORMATION, WARNING, ERROR, or NONE to
  7019.       indicate what error severity  level  is  to  trigger  the  statement
  7020.       specified  by "statement".  If an error of the specified severity or
  7021.       greater  occurs  in  the  command  file,  the  stored  statement  is
  7022.       executed.   If  you  specify  ON  NONE then no statement is executed
  7023.       when a subsequent error occurs.
  7024.  
  7025.       As an example, consider the following statements:
  7026.  
  7027.       Chapter 14. TSX Command Summary                                  122
  7028.  
  7029.  
  7030.            ON ERROR THEN GOTO ABORT
  7031.            COPY LAB1.DAT A:LAB1.DAT
  7032.            COPY LAB2.DAT A:LAB2.DAT
  7033.            COPY LAB3.DAT A:LAB3.DAT
  7034.            EXIT
  7035.            ABORT:
  7036.            DISPLAY "Copy error occurred"
  7037.            EXIT/ABORT
  7038.  
  7039.       The first statement in this  example  specifies  that  if  an  error
  7040.       occurs  on  subsequent  statements  in  the  command  file  then the
  7041.       statement "GOTO ABORT" is to be executed,  transferring  control  to
  7042.       the ABORT label.
  7043.  
  7044.       If  you simply want to cause a command file to terminate if an error
  7045.       occurs, specify the statement:
  7046.  
  7047.            ON ERROR THEN EXIT
  7048.  
  7049.       Or, if  you  wish  to  abort  all  nested  command  files,  use  the
  7050.       statement:
  7051.  
  7052.            ON ERROR THEN EXIT/ABORT
  7053.  
  7054.       Only  a  single  ON  statement  can be in effect for a command file.
  7055.       Thus is you specify ON ERROR...  and  later  specify  ON  WARNING...
  7056.       the second ON statement will supersede the first.
  7057.  
  7058.       Each  level  of  command file nesting may have its own ON statement.
  7059.       Outer level ON statements apply to nested command files unless  they
  7060.       have  local  ON  statements.   When  a  command  file  exits, the ON
  7061.       statement appropriate to the next higher level takes effect.
  7062.  
  7063.  
  7064.  
  7065.       14.55 PATH
  7066.  
  7067.       PATH defines or displays search path.
  7068.  
  7069.       Syntax:
  7070.  
  7071.            PATH [pathspec]
  7072.  
  7073.       If you want to define a path for all users, place a command  of  the
  7074.       following   form   in  your  SY:LSTARTUP.CMD  system-wide,  start-up
  7075.       command file:
  7076.  
  7077.            SET/SYSTEM PATH=pathspec
  7078.  
  7079.       Chapter 14. TSX Command Summary                                  123
  7080.  
  7081.  
  7082.       14.56 PAUSE
  7083.  
  7084.       PAUSE pauses command file execution until Return key is pressed.
  7085.  
  7086.       Syntax:
  7087.  
  7088.            PAUSE [message]
  7089.  
  7090.       Examples:
  7091.  
  7092.            PAUSE Mount second output disk
  7093.            PAUSE Press Return when ready...
  7094.  
  7095.  
  7096.  
  7097.       14.57 PHONE
  7098.  
  7099.       PHONE  connects  to  another  terminal   to   carry   on   a   2-way
  7100.       conversation.   See  the  description of the SEND command on page 64
  7101.       for information about sending a message to another user.
  7102.  
  7103.       Syntax:
  7104.  
  7105.            PHONE [user_name]
  7106.            PHONE [terminal_name]
  7107.  
  7108.       See Section 10.2.5 on page 65 for additional information  about  the
  7109.       PHONE command.
  7110.  
  7111.  
  7112.  
  7113.       14.58 PMAN
  7114.  
  7115.       The  PMAN  command  allows you to associate attributes with programs
  7116.       so that the attributes are used  by  TSX  whenever  the  program  is
  7117.       executed.   A  program  whose  attributes  have been specified using
  7118.       PMAN is referred  to  as  having  been  "installed"  in  TSX.   Many
  7119.       attributes  can  be set with PMAN, some of which can have a dramatic
  7120.       effect on the performance of programs running under  TSX.   However,
  7121.       it  is  not  necessary to "install" most programs with PMAN in order
  7122.       to use them with TSX; PMAN simply  specifies  parameters  that  tune
  7123.       the execution of a program under TSX.
  7124.  
  7125.       When  you  use  PMAN  to  associate  attributes  with  a program the
  7126.       attribute settings take effect  immediately  (you  do  not  need  to
  7127.       reboot  TSX).   In  addition,  PMAN updates a file in the TSX system
  7128.       directory named INSTALL.CMD with information  about  the  attributes
  7129.       for  each  program.   The INSTALL.CMD file is executed automatically
  7130.       each time TSX is booted so the  attributes  will  remain  in  effect
  7131.       over system restarts.
  7132.  
  7133.       See Chapter 4 for additional information about using PMAN.
  7134.  
  7135.       Chapter 14. TSX Command Summary                                  124
  7136.  
  7137.  
  7138.       14.59 PRINT
  7139.  
  7140.       PRINT  Submits  a request to the spooler to print one or more files.
  7141.       You can use the PRINT command or the QMAN program to  check  on  the
  7142.       status of jobs in the print queue.
  7143.  
  7144.       Syntax:
  7145.  
  7146.            PRINT[/qualifiers] filespec
  7147.  
  7148.       Qualifiers:
  7149.  
  7150.          /AFTER[=date-time] Print files created after this date/time.
  7151.  
  7152.          /BEFORE[=date-time] Print files created before this date/time.
  7153.  
  7154.          /[NO]BINARY Print in "binary" mode.
  7155.  
  7156.          /[NO]CONFIRM Request confirmation before each file is printed.
  7157.  
  7158.          /COPIES=n Print each file in print job this number of times.
  7159.  
  7160.          /DATE[=date] Print files created on this date.
  7161.  
  7162.          /[NO]DELETE Delete file after printing.
  7163.  
  7164.          /[NO]DOUBLESPACE Print files doublespaced.
  7165.  
  7166.          /ENDPAGE=n Stop printing at this page.
  7167.  
  7168.          /EXCLUDE=(files) Don't print specified files.
  7169.  
  7170.          /[NO]FEED Issue form feeds between pages.
  7171.  
  7172.          /FLAG[=(JOB[=n],FILE[=n],NOJOB,NOFILE)]  Specify printing of flag
  7173.                  pages.
  7174.  
  7175.          /FORM=formname Use the specified form.
  7176.  
  7177.          /[NO]HEADER Put header lines on each page of print job.
  7178.  
  7179.          /[NO]HOLD Hold  job  until  released  with  SET  ENTRY  id/NOHOLD
  7180.                  command.
  7181.  
  7182.          /[NO]IDENTIFY Display queue name and id number on print job.
  7183.  
  7184.          /LENGTH=n Start a new page after this many lines (default: 66).
  7185.  
  7186.          /[NO]LOG Display the name of each file printed.
  7187.  
  7188.          /MARGIN=(LEFT=lmar,  RIGHT=rmar,  TOP=tmar,  BOTTOM=bmar) Specify
  7189.                  margins.
  7190.  
  7191.          /NAME=nametext Specify the job name.
  7192.  
  7193.       Chapter 14. TSX Command Summary                                  125
  7194.  
  7195.  
  7196.          /NOTE="notetext" Print notetext on job and file flag pages.
  7197.  
  7198.          /[NO]NOTIFY  Display  a  message  on  terminal  when  print   job
  7199.                  completes.
  7200.  
  7201.          /[NO]PASSALL Equivalent to /BINARY.
  7202.  
  7203.          /PRIORITY=n Run print job at this priority.
  7204.  
  7205.          /QUEUE=queuename Submit job to the specified print queue.
  7206.  
  7207.          /QUIET  Do  not  display the job name, entry number, and the name
  7208.                  of the queue.
  7209.  
  7210.          /[NO]RESET=   ([NO]FILE=file,FORMATTED],[NO]JOB=file[,FORMATTED])
  7211.                  Use the specified reset files.
  7212.  
  7213.          /[NO]RESTART Restart printing after a system reboot.
  7214.  
  7215.          /[NO]SETUP=   ([NO]FILE=file[,FORMATTED],[NO]JOB=file[,FORMATTED]
  7216.                  Use the specified setup files.
  7217.  
  7218.          /SINCE[=date-time]   Print   files   created   since    specified
  7219.                  date/time.
  7220.  
  7221.          /[NO]SPACE Same as [NO]DOUBLESPACE.
  7222.  
  7223.          /STARTPAGE=n Start printing at this page.
  7224.  
  7225.          /STOCK=stockname Use this paper stock for job.
  7226.  
  7227.          /[NO]TRAILER[=(JOB[=n],FILE[=n],NOJOB,NOFILE)   Specify   trailer
  7228.                  pages.
  7229.  
  7230.          /[NO]TRUNCATE Truncate lines that extend beyond right margin.
  7231.  
  7232.          /WIDTH=n Page is this many characters wide, including margins.
  7233.  
  7234.          /[NO]WRAP Wrap line that extend beyond right margin.
  7235.  
  7236.       If you type PRINT without specifying a file  name,  a  list  of  all
  7237.       pending  print  jobs  will  be displayed.  You can also use the QMAN
  7238.       program to check on the  status  of  print  jobs.   See  Chapter  8,
  7239.       starting  on  page  47,  for additional information about the use of
  7240.       spooled printers.
  7241.  
  7242.  
  7243.  
  7244.       14.60 PROMPT
  7245.  
  7246.       PROMPT Changes the prompt string that is displayed  by  the  command
  7247.       processor.
  7248.  
  7249.       Chapter 14. TSX Command Summary                                  126
  7250.  
  7251.  
  7252.       Syntax:
  7253.  
  7254.            PROMPT [string]
  7255.  
  7256.  
  7257.  
  7258.       14.61 PROTECT
  7259.  
  7260.       PROTECT sets the file protection attribute on one or more files.
  7261.  
  7262.       Syntax:
  7263.  
  7264.            PROTECT[/qualifiers] filespec
  7265.  
  7266.       Qualifiers:
  7267.  
  7268.          /BEFORE[=date-time]  Select  only  files created before specified
  7269.                  date/time.
  7270.  
  7271.          /[NO]CONFIRM Request confirmation before acting on each file.
  7272.  
  7273.          /DATE[=date] Select files created on specified date.
  7274.  
  7275.          /EXCLUDE=(files) Exclude specified files.
  7276.  
  7277.          /[NO]LOG Display each file name on terminal.
  7278.  
  7279.          /NEW Select only files created today.
  7280.  
  7281.          /[NO]QUERY Same as /[NO]CONFIRM.
  7282.  
  7283.          /SINCE[=date-time]   Select   files   created   since   specified
  7284.                  date/time.
  7285.  
  7286.       Examples:
  7287.  
  7288.            PROTECT MAINTEST.C
  7289.            PROTECT TEST1.DAT,TEST2.DAT,TEST3.DAT
  7290.            PROTECT *.C
  7291.  
  7292.  
  7293.  
  7294.       14.62 QMAN
  7295.  
  7296.       The  QMAN  command  invokes  a screen oriented queue manager program
  7297.       for creating and modifying print and batch queues.  It is also  used
  7298.       to  define  and  modify print forms and to delete or modify print or
  7299.       batch jobs.
  7300.  
  7301.       Syntax:
  7302.  
  7303.            QMAN
  7304.  
  7305.       The initial screen shows a list of  all  currently  existing  queues
  7306.       (both  print  and  batch).   Along the right side of the screen is a
  7307.  
  7308.       Chapter 14. TSX Command Summary                                  127
  7309.  
  7310.  
  7311.       menu of action keys that can be pressed to perform functions on  the
  7312.       queues.   Use  the  arrow  keys  to  select a queue and then type an
  7313.       action key to perform the desired function.  Extensive on-line  help
  7314.       is  available  for QMAN; type F1 at any point for help regarding the
  7315.       current situation.  Press ESC to exit from QMAN.
  7316.  
  7317.       See Chapter 8, starting  on  page  47,  for  additional  information
  7318.       about the use of QMAN.
  7319.  
  7320.  
  7321.  
  7322.       14.63 R
  7323.  
  7324.       The  R  command  runs  a  program  which  is  located in the SY area
  7325.       (\TSX32SYS).
  7326.  
  7327.       Syntax:
  7328.  
  7329.            R[/qualifiers] program
  7330.  
  7331.       Qualifiers are the same as those used for the RUN command (see  page
  7332.       131).
  7333.  
  7334.  
  7335.  
  7336.       14.64 RD
  7337.  
  7338.       RD is a synonym for RMDIR.  See RMDIR for information.
  7339.  
  7340.  
  7341.  
  7342.       14.65 RECALL
  7343.  
  7344.       The  RECALL command displays the set of saved commands and recalls a
  7345.       specific saved command either by specifying an  index  number  or  a
  7346.       string that matches the beginning of the command.
  7347.  
  7348.       Syntax:
  7349.  
  7350.            RECALL[/qualifiers] [selector]
  7351.  
  7352.       Qualifiers:
  7353.  
  7354.          /REVERSE Display commands from oldest to newest.
  7355.  
  7356.       If  you  use  the  RECALL  command  without  specifying a "selector"
  7357.       parameter, a numbered list  of  all  saved  commands  is  displayed.
  7358.       Normally,  the  most  recently  saved command is displayed first and
  7359.       the oldest command is displayed last.   You  can  use  the  /REVERSE
  7360.       qualifier  to  reverse the order of display.  An example of a RECALL
  7361.       command list is shown below:
  7362.  
  7363.       Chapter 14. TSX Command Summary                                  128
  7364.  
  7365.  
  7366.              1: RUN TEST
  7367.              2: LINK TEST
  7368.              3: COMPILE TEST
  7369.              4: EDIT TEST
  7370.  
  7371.       The number displayed to the left of each command is an  index  which
  7372.       can  be  used to recall a saved command.  For example, the following
  7373.       command recalls the third saved command (the "COMPILE TEST"  command
  7374.       in this example):
  7375.  
  7376.            RECALL 3
  7377.  
  7378.       You  can  also  use  a character string to specify the command to be
  7379.       recalled.  The characters in your selector string are compared  with
  7380.       the  beginning  characters of each saved command in the order newest
  7381.       to oldest.  The first command that matches the specified  string  is
  7382.       recalled.   For  example, the following command recalls the "COMPILE
  7383.       TEST" command:
  7384.  
  7385.            RECALL COMP
  7386.  
  7387.       See also Sections 3.2 and 14.75.
  7388.  
  7389.  
  7390.  
  7391.       14.66 RENAME
  7392.  
  7393.       RENAME renames one or more files.  You can also use this command  to
  7394.       rename directories.
  7395.  
  7396.       Syntax:
  7397.  
  7398.            RENAME[/qualifiers] old_name new_name
  7399.  
  7400.       Qualifiers:
  7401.  
  7402.          /BEFORE[=date-time]  Select  files  created before specified date
  7403.                  and time.
  7404.  
  7405.          /[NO]CONFIRM Request confirmation before renaming each file.
  7406.  
  7407.          /DATE[=date] Select files created on the specified date.
  7408.  
  7409.          /EXCLUDE=(files) Exclude specified files.
  7410.  
  7411.          /[NO]LOG Display file names after each file is renamed.
  7412.  
  7413.          /NEWFILE Select only files created today.
  7414.  
  7415.          /[NO]QUERY Same as /[NO]CONFIRM
  7416.  
  7417.          /[NO]REPLACE (Default) Overwrite existing files.
  7418.  
  7419.          /SINCE[=date-time]   Select   files   created   since   specified
  7420.                  date/time.
  7421.  
  7422.       Chapter 14. TSX Command Summary                                  129
  7423.  
  7424.  
  7425.       14.67 RESTORE
  7426.  
  7427.       RESTORE  restores  files  from  a  backup  save set created with the
  7428.       BACKUP command.
  7429.  
  7430.       Syntax:
  7431.  
  7432.            RESTORE[/qualifiers] save-set [out-spec]
  7433.  
  7434.       Qualifiers:
  7435.  
  7436.          /AFTER[=date-time] Select files created since specified date  and
  7437.                  time.
  7438.  
  7439.          /BEFORE[=date-time]  Select  files  created before specified date
  7440.                  and time.
  7441.  
  7442.          /BELL Ring the bell during volume change operations.
  7443.  
  7444.          /[NO]CRC Perform CRC checksum calculations.
  7445.  
  7446.          /[NO]CONFIRM Confirm whether each file should be restored.
  7447.  
  7448.          /DIRECTORY List the contents of the input save set.
  7449.  
  7450.          /EXCLUDE=(files) Exclude the specified files.
  7451.  
  7452.          /INCLUDE=(files) Include only the specified files.
  7453.  
  7454.          /LIST Same as /DIRECTORY
  7455.  
  7456.          /LOCAL Place files on the local network node.
  7457.  
  7458.          /[NO]LOG (Default) Display name of each file restored.
  7459.  
  7460.          /REPLACE Overwrite existing files with the same name.
  7461.  
  7462.          /SINCE[=date-time] Same as /AFTER.
  7463.  
  7464.          /[NO]WARN Print a warning message if a file cannot be restored.
  7465.  
  7466.       The simplest RESTORE command  specifies  that  all  files  from  the
  7467.       input  save  set  should be copied to their original location (i.e.,
  7468.       the device and directory where they were  when  BACKUP  created  the
  7469.       save set).  An example of such a command is:
  7470.  
  7471.            RESTORE B:SAVE1
  7472.  
  7473.       All  files  in  save  set B:SAVE1.BSS are restored to their original
  7474.       location.  Variants of the RESTORE command select  which  files  are
  7475.       restored  from  the input save set and also specify what devices and
  7476.       directories they are written to.
  7477.  
  7478.       The contents of a save set  can  be  listed  without  restoring  any
  7479.       files by using the /LIST qualifier, as in the command:
  7480.  
  7481.       Chapter 14. TSX Command Summary                                  130
  7482.  
  7483.  
  7484.            RESTORE/LIST A:FULL.BSS
  7485.  
  7486.       You  can  select  only  certain files from the save set by using the
  7487.       /INCLUDE qualifier.  For example, the command:
  7488.  
  7489.            RESTORE/INCLUDE=*.C  A:FULL
  7490.  
  7491.       restores only files having the extension ".C".
  7492.  
  7493.       Directory specifications can be used in the  /INCLUDE  qualifier  as
  7494.       well.  The command
  7495.  
  7496.            RESTORE/INCLUDE=\TRAUMA\*.*  A:FULL.BSS
  7497.  
  7498.       restores all files from the \TRAUMA\ directory and
  7499.  
  7500.            RESTORE/INCLUDE=\TRAUMA\...\*.*  A:FULL.BSS
  7501.  
  7502.       selects  the  subdirectories  of  \TRAUMA\ as well.  If you know you
  7503.       want some, but not all files matching a /INCLUDE criteria,  you  can
  7504.       use  the  /CONFIRM  qualifier.  When you use this you are asked on a
  7505.       file by file basis whether you really want the file restored.
  7506.  
  7507.       In addition to selecting files, you can use the  /EXCLUDE  qualifier
  7508.       to  specify  files  that are not to be restored.  This qualifier can
  7509.       be used by itself or in combination with /INCLUDE.  For example,
  7510.  
  7511.            RESTORE/INCLUDE=*.C/EXCLUDE=\TSX32\KERNEL\*.C  A:FULL
  7512.  
  7513.       restores all files with an extension  of  ".C"  except  those  which
  7514.       reside in directory \TSX32\KERNEL.
  7515.  
  7516.       To  specify  that  output  files  should  be restored to a different
  7517.       device or  directory  than  where  they  originally  resided  it  is
  7518.       necessary  to  provide  an  output file specification.  Suppose, for
  7519.       example, that save set FULL.BSS contained a backup of device C:  but
  7520.       you  want  to restore the files to device D:.  The following command
  7521.       command does this.
  7522.  
  7523.            RESTORE A:FULL.BSS D:
  7524.  
  7525.       The elements present in the output specification (in this case  only
  7526.       the  device  name)  are  used first in constructing the name of each
  7527.       output file.  Then any missing parts are  taken  from  the  original
  7528.       filename.   Thus,  the  files  will  be  restored  to their original
  7529.       directories but on device D: rather than C:.
  7530.  
  7531.       The following command restores only the files with an  extension  of
  7532.       ".DAT" to a single specific output directory named \TEMP,
  7533.  
  7534.            RESTORE/INCLUDE=*.DAT  A:FULL.BSS  DHA0:\TEMP\*.*
  7535.  
  7536.       The  RESTORE  facility will create directories as necessary to write
  7537.       output files so that is not  necessary  that  the  target  directory
  7538.       even  exist  when  the  RESTORE command is issued.  If directory and
  7539.  
  7540.       Chapter 14. TSX Command Summary                                  131
  7541.  
  7542.  
  7543.       subdirectory files are restored, all  nonexisting  portions  of  the
  7544.       directory tree will be created.
  7545.  
  7546.       The  RESTORE  facility can recover files even when some of the input
  7547.       save set is missing or damaged.  If a single save set  block  cannot
  7548.       be  read due to faulty media, RESTORE will reconstruct the lost data
  7549.       using the redundancy blocks written by the BACKUP facility.
  7550.  
  7551.       If you lose some volumes of a multi-volume save set  you  can  still
  7552.       recover  the  files which reside on the remaining volumes.  In fact,
  7553.       if you know in what order files were backed up and you have  a  save
  7554.       set  spanning  several  volumes,  you  may  want  to  skip the first
  7555.       volumes and begin the  restore  operation  with  volumes  containing
  7556.       files you want.
  7557.  
  7558.  
  7559.  
  7560.       14.68 RMDIR
  7561.  
  7562.       RMDIR deletes subdirectory files.  It is equivalent to RD.
  7563.  
  7564.       Syntax:
  7565.  
  7566.            RMDIR dirspec
  7567.            RD dirspec
  7568.  
  7569.  
  7570.  
  7571.       14.69 RUN
  7572.  
  7573.       RUN  begins  the  execution  of  a  program.   This is equivalent to
  7574.       typing the name of the program; however, by using  the  RUN  command
  7575.       you  can specify the qualifier shown below to apply to the program's
  7576.       execution.
  7577.  
  7578.       Syntax:
  7579.  
  7580.            RUN[/qualifiers] program
  7581.  
  7582.       Qualifiers:
  7583.  
  7584.          /BYPASN Don't perform logical device name assignments.
  7585.  
  7586.          /DOSNET Tell DOS programs that all of its files are on  networked
  7587.                  devices.
  7588.  
  7589.          /[NO]DWRITE Allow program to directly access video memory.
  7590.  
  7591.          /[NO]GRAPHICS Same as /[NO]DWRITE.
  7592.  
  7593.          /HOLDPRIORITY   Don't  reduce  priority  when  user  switches  to
  7594.                  subprocess.
  7595.  
  7596.          /IOMAP Map virtual memory from 640Kb to 1MB to physical memory.
  7597.  
  7598.       Chapter 14. TSX Command Summary                                  132
  7599.  
  7600.  
  7601.          /IOPRIV Allow the privileged machine instructions: CLI, STI,  IN,
  7602.                  OUT, INS, and OUT (this is the default).
  7603.  
  7604.          /KBINT Allow program to take over the keyboard interrupt vector.
  7605.  
  7606.          /LOCK Log off when program completes.
  7607.  
  7608.          /NOCFIN Do not take input to program from command file.
  7609.  
  7610.          /NONINT Run in "non-interactive".
  7611.  
  7612.          /NORUNDIS Suspend program when user switches to a subprocess.
  7613.  
  7614.          /NOSHARE Don't share the executable program with other users.
  7615.  
  7616.          /[NO]TTWAIT  Suspend  program  after  default  number of terminal
  7617.                  input loops.
  7618.  
  7619.          /NOVARY3BA Always set video port 3BA to 0x80.
  7620.  
  7621.          /OPT3BA Optimize programs doing IN  operations  from  video  port
  7622.                  3BA.
  7623.  
  7624.          /SCCA Disallow Control-C abort of program.
  7625.  
  7626.          /TTCKIO Allow more terminal input loops after an I/O operation.
  7627.  
  7628.  
  7629.  
  7630.       14.70 SEARCH
  7631.  
  7632.       SEARCH searches files for strings of text.
  7633.  
  7634.       Syntax:
  7635.  
  7636.            SEARCH[/qualifiers] filespec string
  7637.  
  7638.       Qualifiers:
  7639.  
  7640.          /BEFORE[=date-time]   Selects   files  created  before  specified
  7641.                  date/time.
  7642.  
  7643.          /BLOCK Read file in blocks of 512 bytes instead of records.
  7644.  
  7645.          /[NO]BRIEF (Default) Display file name on same line as string.
  7646.  
  7647.          /DATE[=date] Selects files created on the specified date.
  7648.  
  7649.          /EXACT Do a case-sensitive search.
  7650.  
  7651.          /EXCLUDE=(files) Exclude specified files.
  7652.  
  7653.          /[NO]HEADER (Default) List file names in the output.
  7654.  
  7655.       Chapter 14. TSX Command Summary                                  133
  7656.  
  7657.  
  7658.          /LENGTH=length Specify maximum length of input records.
  7659.  
  7660.          /LF Records are delimited with line-feeds alone.
  7661.  
  7662.          /[NO]LOG Display the name of each file before it is searched.
  7663.  
  7664.          /NAMES Display file names containing matches only.
  7665.  
  7666.          /NEW Search only files created today.
  7667.  
  7668.          /OUTPUT=file Redirects search output to specified file.
  7669.  
  7670.          /REGULAR Search strings  are  regular  expressions,  not  literal
  7671.                  text strings.
  7672.  
  7673.          /REX Same as /REGULAR.
  7674.  
  7675.          /SINCE[=date-time]  Select files created since specified date and
  7676.                  time.
  7677.  
  7678.       The SEARCH command locates occurrences of a  specified  text  string
  7679.       in  a  set  of  files.  For example, the following command looks for
  7680.       the text string "ALPHA" in a file named PARTICLE.C:
  7681.  
  7682.            SEARCH PARTICLE.C ALPHA
  7683.  
  7684.       Wildcards are frequently used in the  file  specifications  for  the
  7685.       SEARCH  command.   For  example,  the following command searches for
  7686.       all occurrences of the string ALPHA in all files with the  extension
  7687.       ".C" in the current directory:
  7688.  
  7689.            SEARCH *.C ALPHA
  7690.  
  7691.       The  "..." wildcard construct can be useful with the SEARCH command.
  7692.       The following command searches for the  string  BETA  in  all  files
  7693.       with  the extension ".C" in the \PILOT directory and all directories
  7694.       below it:
  7695.  
  7696.            SEARCH \PILOT\...\*.C BETA
  7697.  
  7698.       See Section 5.2, page 39, for additional information about  wildcard
  7699.       constructs.
  7700.  
  7701.       It  is  often  desirable  to  use  SEARCH to identify a set of files
  7702.       which  need  some  further  processing  (such  as   editing).    The
  7703.       following  command  creates  a  file X.X containing the names of all
  7704.       files with an extension of ".C" containing the string "SPFUN":
  7705.  
  7706.            SEARCH *.C SPFUN/OUT=X.X/NAMES
  7707.  
  7708.       If the search  string  contains  spaces  or  characters  other  than
  7709.       letters  and  digits,  enclose  the  string  in  quote  marks.   For
  7710.       example, the following command searches for the string "NEW YORK":
  7711.  
  7712.       Chapter 14. TSX Command Summary                                  134
  7713.  
  7714.  
  7715.            SEARCH *.DAT "NEW YORK"
  7716.  
  7717.       The SEARCH command allows  you  to  specify  more  than  one  search
  7718.       string.   When  this  is  done, any occurrence of any of the strings
  7719.       will be found.  For example, the following command searches for  the
  7720.       strings CALIFORNIA, TEXAS, and NEW YORK:
  7721.  
  7722.            SEARCH *.LST CALIFORNIA,TEXAS,"NEW YORK"
  7723.  
  7724.       Output  can  be  redirected using the /OUTPUT=file qualifier.  Names
  7725.       of files can be suppressed using the /NOHEADER  qualifier.   Use  of
  7726.       the  /NAMES  qualifier  specifies that output should consist only of
  7727.       file names instead of data  from  the  file.   Finally,  the  /BRIEF
  7728.       qualifier  specifies  that each line of output should contain both a
  7729.       filename and the target record.
  7730.  
  7731.       SEARCH normally reads in individual records of a file and looks  for
  7732.       search  strings within a record.  This is appropriate for text files
  7733.       which use carriage-return line-feed sequences to mark the end  of  a
  7734.       record.   Since Unix systems delimit records with line-feeds (but no
  7735.       carriage returns), the /LF  option  can  be  used  to  specify  this
  7736.       alternate  record  delimiter.  If the input file does not consist of
  7737.       records at all, the /BLOCK qualifier can be  used  to  specify  that
  7738.       the  input  file  be  searched in single 512 byte blocks.  Note that
  7739.       search strings which begin in one block but end in  the  next  block
  7740.       will  not  be  matched.   The  /BLOCK qualifier can not be used with
  7741.       /BRIEF mode.
  7742.  
  7743.       A "regular expression" describes a pattern  of  text  instead  of  a
  7744.       literal  text  string.   The  syntax  used  to  describe  a  regular
  7745.       expression  search  pattern  consists  of   letters,   digits,   and
  7746.       operators   such   as   '*',  '+',  '$',  and  '%'.   Using  regular
  7747.       expressions you can search for complex patterns.  For  example,  the
  7748.       following  SEARCH command locates the phrase "NEW YORK" allowing the
  7749.       words "NEW" and "YORK" to be separated by spaces on  the  same  line
  7750.       or split across two lines.
  7751.  
  7752.            SEARCH/REGULAR *.TXT "NEW#+YORK"
  7753.  
  7754.       The  following  SEARCH  command  locates all occurrences of the word
  7755.       "void" as the first word on a line allowing spaces and tabs only  to
  7756.       occur between the start of the line and the word:
  7757.  
  7758.            SEARCH/REGULAR *.C "$%W*void"
  7759.  
  7760.       Because  of the operator characters that are usually used in regular
  7761.       expressions, you will need to enclose regular expressions  in  quote
  7762.       marks.   The  SEARCH  command  strips  off the enclosing quote marks
  7763.       before interpreting the search pattern.  In some cases you may  need
  7764.       to  specify  quote  signs  as part of the regular expression itself.
  7765.       To do this, enclose the entire pattern in quote marks  (")  and  use
  7766.       the  apostrophe character (') to quote the desired string within the
  7767.       pattern.  For example, the following command searches for  a  string
  7768.       consisting  of  two  dollar  signs,  followed by one or more digits,
  7769.       followed by a colon:
  7770.  
  7771.       Chapter 14. TSX Command Summary                                  135
  7772.  
  7773.  
  7774.            SEARCH/REGULAR *.ASM "'$$'%D+':'"
  7775.  
  7776.       Refer to the EDIT-32 User's Guide for additional  information  about
  7777.       using  regular  expressions.   The  table  below  lists each regular
  7778.       expression operator.
  7779.  
  7780.            Expression               Meaning                   Example
  7781.            ----------    ---------------------------------    -------
  7782.                c         any non-operator character c           a
  7783.               \c         character c literally                  \$
  7784.               's'        string s literally                   '$2.50'
  7785.                .         any character but line-delimiter       a.b
  7786.                $         line delimiter (end of line)          $begin
  7787.                #         space or line-delimiter              New#York
  7788.               [s]        any character in s                     [abc]
  7789.               (p)        subpattern p                          a(b|c)d
  7790.               ~p         anything but p                          ~%D
  7791.               p*         zero or more occurrences of p           a*
  7792.               p+         one or more occurrences of p            a+
  7793.               p?         zero or one occurrence of p             a?
  7794.             p{m,n}       m to n occurrences of p               a{1,3}
  7795.              p1p2        p1 followed by p2                    [ab][cd]
  7796.              p1&p2       item must be p1 and p2                %D&~0
  7797.              p1|p2       item may be p1 or p2                 a(b|c|d)
  7798.               %A         upper- or lower-case letter
  7799.               %C         control character
  7800.               %D         decimal digit (0..9)
  7801.               %H         hexadecimal digit (0..9 or A..F)
  7802.               %L         lower-case letter
  7803.               %N         letter or digit
  7804.               %P         printing character
  7805.               %Q         quote mark (")
  7806.               %U         upper-case letter
  7807.               %W         "white space" -- space or tab
  7808.               %X         any char including line-delimiter
  7809.               %(         open paren with matching close paren
  7810.               %[         open bracket with matching close bracket
  7811.               %{         open brace with matching close brace
  7812.  
  7813.  
  7814.  
  7815.       14.71 SEND
  7816.  
  7817.       SEND  sends  a  message  to  another  user's  terminal.    See   the
  7818.       description  of  the  PHONE command on page 65 for information about
  7819.       conversing with another user.
  7820.  
  7821.       Syntax:
  7822.  
  7823.            SEND[/qualifiers] message
  7824.  
  7825.       Examples:
  7826.  
  7827.            SEND/NAME=PHIL/FORCE  I think the computer is on fire.
  7828.            SEND/TERM=COMPUTER_ROOM Please mount backup disk
  7829.  
  7830.       Chapter 14. TSX Command Summary                                  136
  7831.  
  7832.  
  7833.       Qualifiers:
  7834.  
  7835.          /ALL Send to all jobs (except the sender).
  7836.  
  7837.          /FORCE Override /GAG setting on other terminals.
  7838.  
  7839.          /ID=job_id Send to specified job id number.
  7840.  
  7841.          /NAME=user_name Send to specified user.
  7842.  
  7843.          /NOBELL Don't ring bell on receiving terminals.
  7844.  
  7845.          /PARENT Send to parent of current process.
  7846.  
  7847.       See Section 10.2.4 on page 64 for additional information  about  the
  7848.       SEND command.
  7849.  
  7850.  
  7851.  
  7852.       14.72 SET CMDPROC
  7853.  
  7854.       The  SET CMDPROC command allows you to specify the name of a program
  7855.       to act as the command processor for your  job.   You  can  also  use
  7856.       this  command to specify a program to be run when some other program
  7857.       exits.
  7858.  
  7859.       Syntax:
  7860.  
  7861.            SET CMDPROC /FILE=name[/qualifiers]
  7862.  
  7863.       Qualifiers:
  7864.  
  7865.          /FILE=name (Required) Specify name of command processor program.
  7866.  
  7867.          /TEMP Use new command processor only once then use TSKMON.
  7868.  
  7869.       The  SET  CMDPROC  command  allows   you   to   provide   the   file
  7870.       specification  of  a program to be used as the command processor for
  7871.       your job.  The command processor is the program that is run  by  TSX
  7872.       when  a  program  exits  to the system.  The initial default command
  7873.       processor for each  job  is  SY:TSKMON.EXP  which  can  process  the
  7874.       keyboard commands described in the TSX-32 User's Manual.
  7875.  
  7876.       If  the  /TEMP  qualifier  is not specified with this command, a new
  7877.       default command processor is established for your job.  Each time  a
  7878.       program  exits,  either  normally  or  do  to  an abort, the current
  7879.       default command processor is executed.  Be careful about using  this
  7880.       command  because  unless  your program correctly processes commands,
  7881.       or resets TSKMON as the default command processor, you will have  no
  7882.       way  to  regain  control.   Note  that  typing  control-C aborts the
  7883.       current program and causes the current default command processor  to
  7884.       be run.
  7885.  
  7886.       The  /TEMP  qualifier  may  be  used  to declare a temporary command
  7887.       processor that will be executed only  once  when  the  next  program
  7888.  
  7889.       Chapter 14. TSX Command Summary                                  137
  7890.  
  7891.  
  7892.       exit  occurs.  After that, the current default command processor for
  7893.       your job will be used.  The /TEMP qualifier is  useful  in  that  it
  7894.       allows  you  to  specify a program to do cleanup processing for some
  7895.       other program.
  7896.  
  7897.  
  7898.  
  7899.       14.73 SET DATE
  7900.  
  7901.       SET DATE sets the system date.  Date format is dd-mmm-yyyy.   It  is
  7902.       equivalent to DATE.
  7903.  
  7904.       Syntax:
  7905.  
  7906.            SET DATE date
  7907.            DATE date
  7908.  
  7909.  
  7910.  
  7911.       14.74 SET DEFAULT
  7912.  
  7913.       SET DEFAULT is equivalent to CHDIR.  See CHDIR for information.
  7914.  
  7915.  
  7916.  
  7917.       14.75 SET EDIT
  7918.  
  7919.       SET EDIT controls the terminal input (command line) editor.
  7920.  
  7921.       Syntax:
  7922.  
  7923.            SET EDIT/qualifiers
  7924.  
  7925.       Qualifiers:
  7926.  
  7927.          /INSERT Start editor in insert mode.
  7928.  
  7929.          /OVERSTRIKE Start editor in overstrike mode.
  7930.  
  7931.          /KEYPAD Turn on numeric keypad editing keys.
  7932.  
  7933.          /NOKEYPAD (Default) Use keypad as in DOS.
  7934.  
  7935.          /[NO]KEYSUBSTITUTIONS (Default) Do DEFINE KEY substitutions.
  7936.  
  7937.          /MAXUKD=n Allow n key definitions.
  7938.  
  7939.          /MAXUKDLENGTH=n  Allow  key  replacement string of maximum length
  7940.                  n.
  7941.  
  7942.          /OFF Turn off the terminal input editor.
  7943.  
  7944.          /ON (Default) Turn on the terminal input editor.
  7945.  
  7946.       Chapter 14. TSX Command Summary                                  138
  7947.  
  7948.  
  7949.          /SAVESIZE=n Recall a maximum of n command lines.
  7950.  
  7951.       See also Sections 3.2 and 14.65.
  7952.  
  7953.  
  7954.  
  7955.       14.76 SET ENTRY
  7956.  
  7957.       SET ENTRY is used to control batch or print jobs.   Using  the  QMAN
  7958.       program  is  the  preferred way to do this.  See Chapter 8, starting
  7959.       on page 47, for additional information about the  use  of  QMAN  and
  7960.       spooled printers.
  7961.  
  7962.  
  7963.  
  7964.       14.77 SET EVENT
  7965.  
  7966.       SET  EVENT  starts  or  stops  writing to event log files.  The SHOW
  7967.       EVENTS command is the preferred way to do this (see page 152).
  7968.  
  7969.       Syntax:
  7970.  
  7971.            SET EVENT/qualifiers
  7972.  
  7973.       Qualifiers:
  7974.  
  7975.          /[NO]FILE Create log of file operations.
  7976.  
  7977.          /[NO]FLOCK Create log of file lock operations.
  7978.  
  7979.          /[NO]SECURITY Create log of security operations.
  7980.  
  7981.  
  7982.  
  7983.       14.78 SET HOST
  7984.  
  7985.       SET HOST cross-connects your terminal with a communication  port  or
  7986.       network  node.   Once  connected,  characters typed at your terminal
  7987.       are sent to the designated line and characters received from it  are
  7988.       displayed  on  your  terminal.   Type  control-backslash followed by
  7989.       Enter to break the connection.
  7990.  
  7991.       Syntax:
  7992.  
  7993.            SET HOST ttname
  7994.            SET HOST nodename
  7995.  
  7996.       The SET HOST command cross-connects your time-sharing  line  with  a
  7997.       specified  communication  line.   "Cross-connecting" a communication
  7998.       line with your  time-sharing  terminal  means  that  each  character
  7999.       typed  at  your  terminal  is transmitted on the communication line,
  8000.       and each character received on the communication line  is  displayed
  8001.       at  your  terminal.   Because  the system buffers characters between
  8002.       your terminal and the communication line, your terminal may  operate
  8003.  
  8004.       Chapter 14. TSX Command Summary                                  139
  8005.  
  8006.  
  8007.       at   a  baud  rate  different  from  that  of  the  cross  connected
  8008.       communication line.
  8009.  
  8010.       Once the cross-connection  is  established,  nearly  all  characters
  8011.       typed  at  your  terminal  are transmitted on the communication line
  8012.       rather  than  being  interpreted  by  the  system.   This   includes
  8013.       characters such as rubout, control-C, control-U, control-W, etc.
  8014.  
  8015.       The  one  character  that  is  interpreted  by  the  system during a
  8016.       cross-connection is defined by the "CCXCTL"  sysgen  parameter.   By
  8017.       default,  it  is  the  control-backslash character (hex 0x1C).  When
  8018.       this character is typed, it is not transmitted on the  communication
  8019.       line  but causes the system to interpret the next typed character as
  8020.       a cross-connection function character.  Type  carriage-return  after
  8021.       control-backslash  to  break the cross-connection and return control
  8022.       to the  program  that  initiated  the  cross-connection.   Type  two
  8023.       consecutive   control-backslash   characters  to  cause  one  to  be
  8024.       transmitted through the communication line.  Other  cross-connection
  8025.       function characters are listed in the following table:
  8026.  
  8027.            Character                      Meaning
  8028.            ---------       --------------------------------------
  8029.                B           Transmit a break
  8030.                C           Break connection and drop DTR
  8031.                D           Raise DTR
  8032.                H           Drop DTR (hangup)
  8033.                R           Reset XON/XOFF status
  8034.                X           Break connection without dropping DTR
  8035.              Enter         Break connection and drop DTR
  8036.  
  8037.       When  you  execute  the  SET HOST command, your process is suspended
  8038.       until  the   cross   connection   is   broken.    This   makes   the
  8039.       cross-connection  very  efficient  since  you  are using very little
  8040.       memory and you are  not  being  scheduled  for  execution.   If  you
  8041.       simply  want to cross-connect your terminal to a communication line,
  8042.       it is much more efficient to use the SET HOST  command  rather  than
  8043.       using a program such as Kermit in connect mode.
  8044.  
  8045.       The  SET  HOST  command  may be used to cross-connect the PC console
  8046.       terminal with some serial line; however, if  the  program  to  which
  8047.       the  console  is  cross-connected  sends ANSI control sequences they
  8048.       will not be interpreted by the console while cross  connected.   You
  8049.       may  use  Kermit  in  connect  mode if you need to cross connect the
  8050.       console to a serial line and interpret ANSI control sequences.
  8051.  
  8052.       The normal sequence of operations  to  cross-connect  your  terminal
  8053.       with a communication line is as follows:
  8054.  
  8055.       1.  Use  the ALLOCATE command to allocate the communication line for
  8056.           your exclusive use.  This also allows your to perform  temporary
  8057.           parameter  settings on the line which will be cancelled when you
  8058.           deallocate the line.
  8059.  
  8060.       2.  Use the SET TERMINAL command to  set  line  parameters  such  as
  8061.           baud rate for the communication line.
  8062.  
  8063.       Chapter 14. TSX Command Summary                                  140
  8064.  
  8065.  
  8066.       3.  Use  the  SET  HOST  command  to cross-connect your time-sharing
  8067.           line with the communication line.
  8068.  
  8069.       4.  Type control-backslash followed by carriage-return to break  the
  8070.           cross-connection  and  reconnect  your terminal with the command
  8071.           interpreter.
  8072.  
  8073.       5.  After  the  cross-connection  is  broken,  use  the   DEALLOCATE
  8074.           command  to  release  the communication line.  If the parameters
  8075.           set by the SET TERMINAL command were  temporary,  they  will  be
  8076.           restored to their permanent values.
  8077.  
  8078.  
  8079.  
  8080.       14.79 SET LOGOFF
  8081.  
  8082.       SET LOGOFF specifies a command file to execute when job logs off.
  8083.  
  8084.       Syntax:
  8085.  
  8086.            SET LOGOFF/FILE=filespec
  8087.  
  8088.       Qualifiers:
  8089.  
  8090.          /FILE=filespec Specify the name of the command file.
  8091.  
  8092.  
  8093.  
  8094.       14.80 SET LOG
  8095.  
  8096.       SET  LOG controls logging of terminal I/O.  When terminal logging is
  8097.       turned on, all  output  sent  to  the  terminal  by  use  of  system
  8098.       services  (not  direct  video  memory  writes)  is  written  to  the
  8099.       specified log file.
  8100.  
  8101.       Syntax:
  8102.  
  8103.            SET LOG/qualifiers
  8104.  
  8105.       Qualifiers:
  8106.  
  8107.          /ALL (Default) Log both terminal input and output.
  8108.  
  8109.          /CLOSE Close log file and terminate logging..
  8110.  
  8111.          /FILE=filespec Write output to specified file.
  8112.  
  8113.          /[NO]LOGIN (Default) Log terminal or command file input.
  8114.  
  8115.          /[NO]LOGOUT (Default) Log terminal output.
  8116.  
  8117.          /OFF Same as /CLOSE
  8118.  
  8119.          /[NO]SUSPEND Suspend logging until a SET  LOG/RESUME  command  is
  8120.                  issued.
  8121.  
  8122.       Chapter 14. TSX Command Summary                                  141
  8123.  
  8124.  
  8125.          /RESET  Discard  data  in  the current log file, but do not close
  8126.                  the file.
  8127.  
  8128.          /RESUME Resume logging after a SET LOG/SUSPEND command.
  8129.  
  8130.       The SET LOG command controls terminal logging.   To  begin  terminal
  8131.       logging,  use  the  /FILE=filespec  qualifier.   If  a  log  file is
  8132.       already open, the current log file is closed before the new  one  is
  8133.       opened.   The default extension for the log file name is ".LOG".  To
  8134.       close the current log file without opening a new log file,  use  the
  8135.       /CLOSE  qualifier.   The  log  file is automatically closed when you
  8136.       log off.
  8137.  
  8138.       Normally, both terminal input and  output  are  copied  to  the  log
  8139.       file.   However,  you  can use the /NOLOGIN and /NOLOGOUT qualifiers
  8140.       to prevent either terminal input or output from being logged.
  8141.  
  8142.  
  8143.  
  8144.       14.81 SET MESSAGE
  8145.  
  8146.       SET MESSAGE controls the format of TSX status and error messages.
  8147.  
  8148.       Syntax:
  8149.  
  8150.            SET MESSAGE/qualifiers
  8151.  
  8152.       Qualifiers:
  8153.  
  8154.          /ALL Print all parts of message.
  8155.  
  8156.          /[NO]FACILITY Print the facility name.
  8157.  
  8158.          /FULL Same as /ALL.
  8159.  
  8160.          /[NO]IDENTIFICATION Print identifying mnemonic name.
  8161.  
  8162.          /[NO]SEVERITY Print error severity indicator letter.
  8163.  
  8164.          /[NO]TEXT Print text of message.
  8165.  
  8166.  
  8167.  
  8168.       14.82 SET NEWSTATISTICS
  8169.  
  8170.       SET NEWSTATISTICS resets  system  statistics  information  which  is
  8171.       reported  by  commands  such  as  SHOW USE, SHOW CACHE, SHOW PAGING,
  8172.       etc.
  8173.  
  8174.       Syntax:
  8175.  
  8176.            SET NEWSTATISTICS
  8177.  
  8178.       Chapter 14. TSX Command Summary                                  142
  8179.  
  8180.  
  8181.       14.83 SET PRINTWINDOW
  8182.  
  8183.       The SET PRINTWINDOW command is used  to  specify  the  name  of  the
  8184.       printer  and  other parameters related to the print window facility.
  8185.       The print window facility  allows  you  to  print  a  copy  of  your
  8186.       current  screen  image  by  pressing  the  "Print Screen" key on the
  8187.       console or PC-term terminals.  On terminals that do not have  "Print
  8188.       Screen"  keys,  you  can  print  the screen by pressing control-B or
  8189.       another control character specified by the "PWCH" system  generation
  8190.       parameter.
  8191.  
  8192.       Syntax:
  8193.  
  8194.            SET PRINTWINDOW/qualifiers
  8195.  
  8196.       Qualifiers:
  8197.  
  8198.          /[NO]BEGINFF Print form feed at beginning of print.
  8199.  
  8200.          /[NO]BELL Ring terminal bell when screen image is stored.
  8201.  
  8202.          /DEVICE=name Print to this device.
  8203.  
  8204.          /ENDFF Print a form feed at end of print.
  8205.  
  8206.          /OFF Turn off print window facility for your job.
  8207.  
  8208.          /ON (Default) turn on the print window facility for your job.
  8209.  
  8210.       The  SET  PRINTWINDOW command is used to specify the device to which
  8211.       print  window  output  is  to  be  written,  and  to  specify  other
  8212.       parameters  related  to the print window facility.  For example, the
  8213.       command
  8214.  
  8215.            SET PRINTWINDOW/DEVICE=PRINT:
  8216.  
  8217.       directs print window output to  the  standard  spooled  print  queue
  8218.       named  "PRINT:".   If  you specify a device without a file name, the
  8219.       system generates a  file  name  of  the  form  "WINnnnnn.LST"  where
  8220.       "nnnnn" is the id number of your job.
  8221.  
  8222.       You  must  set  the  system  generation  parameter DOWINPRNT to 1 in
  8223.       order to enable the TSX window printing facility.  This is  normally
  8224.       done when you select an option during the TSX-Lite installation.
  8225.  
  8226.       When  you  type  Print  Screen (or some other character specified by
  8227.       the "PWCH" sysgen parameter), the system signals the WINPRT  program
  8228.       (running  as  a  detached  job)  which  takes  a  "snapshot" of your
  8229.       current screen image.  If you specify the  /BELL  qualifier  on  the
  8230.       SET  PRINTWINDOW  command, WINPRT will ring your terminal bell after
  8231.       it has taken the shapshot.  WINPRT  then  queues  the  snapshot  for
  8232.       printing  and  prints  if  after  all  other previously queued print
  8233.       window requests have been serviced.
  8234.  
  8235.       Chapter 14. TSX Command Summary                                  143
  8236.  
  8237.  
  8238.       14.84 SET PROCESS
  8239.  
  8240.       SET PROCESS alters job characteristics.
  8241.  
  8242.       Syntax:
  8243.  
  8244.            SET PROCESS/qualifiers
  8245.  
  8246.       Qualifiers:
  8247.  
  8248.          /AUTHORIZED Command applies to authorized privileges.
  8249.  
  8250.          /[NO]BELL (Default)Enable terminal bell.
  8251.  
  8252.          /[NO]CMDTRACE Trace search for an executable file.
  8253.  
  8254.          /[NO]DBSS Turn on system service trace facility.
  8255.  
  8256.          /[NO]DBV86 Turn on  system  service  trace  facility  for  16-bit
  8257.                  programs.
  8258.  
  8259.          /[NO]DPMI Turn on or off DPMI support.
  8260.  
  8261.          /EMS=value   Enable  specified  amount  of  EMS  memory  for  DOS
  8262.                  programs.
  8263.  
  8264.          /IDENTIFICATION=id Specify which job  this  SET  PROCESS  command
  8265.                  applies to.
  8266.  
  8267.          /MAXMEMORY=value  Specify max number of k-bytes of virtual memory
  8268.                  for job.
  8269.  
  8270.          /MAXPRIORITY=value Specify maximum job priority.
  8271.  
  8272.          /MAXTTCHK=n Allow DOS programs to  check  for  terminal  input  n
  8273.                  times before suspending.
  8274.  
  8275.          /MAXTTIOCHK=n  Allow  DOS  programs to check for terminal n times
  8276.                  after an I/O operation before suspending.
  8277.  
  8278.          /[NO]MONITOR Allow others to monitor this job with SPY  or  TUTOR
  8279.                  commands.
  8280.  
  8281.          /NAME=string Set process name.
  8282.  
  8283.          /PRIORITY=value Specify execution priority.
  8284.  
  8285.          /PRIVILEGES=privlist Specify a list of privileges.
  8286.  
  8287.          /RESUME Resume the execution of a suspended job.
  8288.  
  8289.          /[NO]SCCA Suppress control-C aborts
  8290.  
  8291.          /SMANAGER=n   Specify   the  invocation  level  for  the  session
  8292.                  manager.
  8293.  
  8294.       Chapter 14. TSX Command Summary                                  144
  8295.  
  8296.  
  8297.          /SUSPEND Suspend the execution of a job.
  8298.  
  8299.          /[NO]TTFWBELL Ring terminal when suspending  a  DOS  program  for
  8300.                  too many terminal input checks.
  8301.  
  8302.          /TTHANGTIME=n  Specify 1/100's of a second to suspend DOS program
  8303.                  after excessive terminal input checks.
  8304.  
  8305.          /USERNAME=name Set the user name for the process.
  8306.  
  8307.  
  8308.  
  8309.       14.85 SET
  8310.  
  8311.       SET symbol defines a symbol to be placed in  the  environment  block
  8312.       for DOS programs.
  8313.  
  8314.       Syntax:
  8315.  
  8316.            SET[/qualifiers] symbol=string
  8317.  
  8318.       Qualifiers:
  8319.  
  8320.          /SYMBOL  SET  command  is  a  symbol  definition,  not  a TSX SET
  8321.                  command.
  8322.  
  8323.  
  8324.  
  8325.       14.86 SET SYSTEM
  8326.  
  8327.       SET SYSTEM alters system-wide parameters.
  8328.  
  8329.       Syntax:
  8330.  
  8331.            SET SYSTEM/qualifiers
  8332.  
  8333.       Qualifiers:
  8334.  
  8335.          /[NO]ACCOUNTING Enables accounting log file.
  8336.  
  8337.          /[NO]CACHEWRITETHROUGH Same as /[NO]IOFLUSH.
  8338.  
  8339.          /[NO]IOFLUSH Write data directly to disk, not to the cache.
  8340.  
  8341.          /[NO]LOGON Enables new jobs to log onto the system
  8342.  
  8343.          /QUAN1=value Execution time slice for interactive state.
  8344.  
  8345.          /QUAN1A=value  Execution  time  slice  for  high  priority   wait
  8346.                  reactivation.
  8347.  
  8348.          /QUAN1B=value  Execution time slice switching between interactive
  8349.                  jobs.
  8350.  
  8351.       Chapter 14. TSX Command Summary                                  145
  8352.  
  8353.  
  8354.          /QUAN1C=value Execution time at highest interactive state.
  8355.  
  8356.          /QUAN2=value Execution time slice for cpu-bound jobs.
  8357.  
  8358.  
  8359.  
  8360.       14.87 SET TERMINAL
  8361.  
  8362.       SET TERMINAL sets attributes and options for a terminal line.
  8363.  
  8364.       Syntax:
  8365.  
  8366.            SET TERMINAL/qualifiers
  8367.            SET ttname/qualifiers
  8368.  
  8369.       Qualifiers:  (cl  indicates   communication   line,   ts   indicates
  8370.       time-sharing line)
  8371.  
  8372.          /7BIT (cl,ts) Same as /NOEIGHTBIT.
  8373.  
  8374.          /8BIT (cl,ts) Same as /EIGHTBIT.
  8375.  
  8376.          /ADDLF (cl) Add a line feed to each carriage return.
  8377.  
  8378.          /ANYXON  (ts)  Any  character  will resume output after Ctrl-S is
  8379.                  pressed.
  8380.  
  8381.          /[NO]AUTOBAUD (ts) Allow automatic baud selection during login.
  8382.  
  8383.          /BACKGROUND=color (ts) Specify the default background color.
  8384.  
  8385.          /[NO]BACKRUB (ts) Convert backspace characters to rubout.
  8386.  
  8387.          /[NO]BININ (cl) Pass  all  characters  directly  to  the  reading
  8388.                  program.
  8389.  
  8390.          /[NO]BINOUT  (cl)  8-bit  characters  are  to be sent to the line
  8391.                  without modification.
  8392.  
  8393.          /[NO]BINUART (cl, default)  Pass  all  characters  when  line  is
  8394.                  being used as a virtual UART COM port.
  8395.  
  8396.          /BITS=n(cl,ts)  Specify data bits to be used by the hardware line
  8397.                  controller.
  8398.  
  8399.          /[NO]BOARDHS (cl,ts,default) Allow  serial  hardware  to  perform
  8400.                  flow control.
  8401.  
  8402.          /[NO]CR   (cl,   default)   Okay   to   transmit  carriage-return
  8403.                  characters.
  8404.  
  8405.          /[NO]CTL (cl,default) Okay to transmit control characters to  the
  8406.                  communication line.
  8407.  
  8408.       Chapter 14. TSX Command Summary                                  146
  8409.  
  8410.  
  8411.          /[NO]DEAD (cl,ts) Do not use this line.
  8412.  
  8413.          /DEVICE_TYPE=name (ts) Same as /TERMTYPE.
  8414.  
  8415.          /[NO]DTR  Raises  the  Data  Terminal  Ready  (DTR) signal on the
  8416.                  specified line.
  8417.  
  8418.          /[NO]ECHO  (ts,sp,default)  Echo  received  characters   to   the
  8419.                  terminal.
  8420.  
  8421.          /[NO]EIGHTBIT (cl,ts) Pass all 8 bits of each character.
  8422.  
  8423.          /ENDFF=n  (cl)  Write  n  form-feed  characters  to the end of an
  8424.                  output file when I/O channel is closed.
  8425.  
  8426.          /FOREGROUND=color (ts) Set foreground color.
  8427.  
  8428.          /[NO]FORM (cl,ts) Okay to send form-feed characters.
  8429.  
  8430.          /[NO]FORM0 (cl) Send a form-feed character  to  the  line  before
  8431.                  the first write.
  8432.  
  8433.          /[NO]GAG (ts,sp) Don't display messages from other jobs.
  8434.  
  8435.          /HANDSHAKING=type (ts,cl) Use specified handshaking method:
  8436.  
  8437.                   XONXON
  8438.                   XONCTS
  8439.                   XONDSR
  8440.                   RTSXON
  8441.                   RTSCTS
  8442.                   RTSDSR
  8443.                   DTRXON
  8444.                   DTRCTS
  8445.                   DTRDSR
  8446.  
  8447.          /IXLATE=(received=converted,received=converted,...) (ts,cl)
  8448.                  Define a translation table for received characters.
  8449.  
  8450.          /[NO]LC (ts,sp,default) Okay to send lower-case characters.
  8451.  
  8452.          /LENGTH=n (cl) Specify the number of lines per page.
  8453.  
  8454.          /[NO]LFIN  (cl,ts,default)  Pass  line  feed  characters  to  the
  8455.                  program.
  8456.  
  8457.          /[NO]LFOUT (cl,default) Pass transmitted line-feed characters  to
  8458.                  the
  8459.  
  8460.          /[NO]LOGON (cl,ts,default) Allow logon.
  8461.  
  8462.          /OXLATE=(sent=converted,sent=converted,...)(ts,cl)    Define    a
  8463.                  translation table for transmitted characters.
  8464.  
  8465.       Chapter 14. TSX Command Summary                                  147
  8466.  
  8467.  
  8468.          /[NO]PAGE (cl,ts,default) Control-S and  control-Q  perform  flow
  8469.                  control functions.
  8470.  
  8471.          /[NO]PARITY=type  (cl,ts) Use specified parity control:EVEN, ODD,
  8472.                  or NONE.
  8473.  
  8474.          /[NO]PCDIM (ts)  Make  dim  characters  the  default  on  PC-Term
  8475.                  terminals.
  8476.  
  8477.          /PERMANENT (cl,ts) Make changes permanent.
  8478.  
  8479.          /[NO]PHONE (ts) Perform modem control.
  8480.  
  8481.          /[NO]PRINTER   (ts,cl)  There  is  a  printer  attached  to  this
  8482.                  terminal.
  8483.  
  8484.          /RESET (ts,cl) Reset line to original condition.
  8485.  
  8486.          /[NO]RTS (ts,cl) Raises the Request To Send (RTS) signal.
  8487.  
  8488.          /[NO]SCOPE (ts) Terminal is a CRT.
  8489.  
  8490.          /[NO]SEVENBIT (cl,ts,default) same as /NOEIGHTBIT.
  8491.  
  8492.          /SKIP=n (cl) Send form-feed when n lines remain on the page.
  8493.  
  8494.          /SPEED=value (cl,ts) Set speed to  one  of  the  following:  100,
  8495.                  150, 300, 600, 1200, 2400, 4800, 9600, or 19200.
  8496.  
  8497.          /[NO]START (ts) Start a job on the line.
  8498.  
  8499.          /[NO]SYSPASSWORD  (ts)  Require  system  password before starting
  8500.                  job.
  8501.  
  8502.          /[NO]TAB (cl,ts) Okay to send tab characters.
  8503.  
  8504.          /TERMTYPE=name (ts) Specify the type of terminal.  Name  must  be
  8505.                  one of:
  8506.  
  8507.                   ANSI
  8508.                   PCTERM
  8509.                   TSXTERM
  8510.                   VT100
  8511.                   VT220
  8512.                   VT320
  8513.                   VT420
  8514.                   RELISYS
  8515.  
  8516.          /[NO]TPFFCLOSE  (ts) Send a form feed to terminal printer on file
  8517.                  close.
  8518.  
  8519.          /[NO]TPFFOPEN (ts) Send a form feed to terminal printer  on  file
  8520.                  open.
  8521.  
  8522.       Chapter 14. TSX Command Summary                                  148
  8523.  
  8524.  
  8525.          /TPCPS=n  (ts)  Send data to terminal printer at n characters per
  8526.                  second.
  8527.  
  8528.          /[NO]UPCASE (cl) Convert lower case characters to upper case.
  8529.  
  8530.          /WIDTH=n (cl) Specify the maximum line width.
  8531.  
  8532.          /NOXLATE Turns off any character translation for the line.
  8533.  
  8534.          /XON (cl,ts) Resets line in hold (XOFF) condition.
  8535.  
  8536.       See also the description of the TMAN command on page 160.
  8537.  
  8538.  
  8539.  
  8540.       14.88 SET TIME
  8541.  
  8542.       SET TIME sets the  system  time.   It  is  equivalent  to  the  TIME
  8543.       command.
  8544.  
  8545.       Syntax:
  8546.  
  8547.            SET TIME time
  8548.            TIME time
  8549.  
  8550.       Examples:
  8551.  
  8552.            SET TIME 10:30
  8553.            TIME 15:24:05
  8554.  
  8555.  
  8556.  
  8557.       14.89 SET VERIFY
  8558.  
  8559.       SET VERIFY controls echo of command files to terminal.
  8560.  
  8561.       Syntax:
  8562.  
  8563.            SET [NO]VERIFY
  8564.  
  8565.  
  8566.  
  8567.       14.90 SET VIDEO
  8568.  
  8569.       SET  VIDEO changes the default video mode of the console and TSXTERM
  8570.       terminals.
  8571.  
  8572.       Syntax:
  8573.  
  8574.            SET VIDEO/qualifiers
  8575.  
  8576.       Qualifiers:
  8577.  
  8578.          /MODE=value Specify the new mode.   Valid  values:  VGA:  0,1,2,3
  8579.                  and 7; EGA: 0,1,2 and 3; MDA: 7 only.
  8580.  
  8581.       Chapter 14. TSX Command Summary                                  149
  8582.  
  8583.  
  8584.       14.91 SET WINDOW
  8585.  
  8586.       SET WINDOW controls process windowing.
  8587.  
  8588.       Syntax:
  8589.  
  8590.            SET WINDOW/qualifiers
  8591.  
  8592.       Qualifiers:
  8593.  
  8594.          /DARK Display light characters on dark background.
  8595.  
  8596.          /LIGHT Display dark characters on light background.
  8597.  
  8598.          /LINES=n Specify the number of lines on the screen.
  8599.  
  8600.          /NARROW Display 80 columns.
  8601.  
  8602.          /NOSCROLL Disallow scrolling while window is in background.
  8603.  
  8604.          /SCROLL=n Allow n lines to scroll while window is in background.
  8605.  
  8606.          /WIDE Display 132 columns.
  8607.  
  8608.  
  8609.  
  8610.       14.92 SET WORKING_SET
  8611.  
  8612.       SET  WORKING_SET  sets  physical  memory space available for current
  8613.       job.
  8614.  
  8615.       Syntax:
  8616.  
  8617.            SET WORKING_SET/qualifiers
  8618.  
  8619.       Qualifiers:
  8620.  
  8621.          /[NO]ADJUST  (Default)  Enables  automatic   working   set   size
  8622.                  adjustment
  8623.  
  8624.          /EXTENT=value Same as /MAXIMUM.
  8625.  
  8626.          /MAXIMUM=value Specify maximum K-bytes of memory for the job.
  8627.  
  8628.          /MINIMUM=value Specify minimum K-bytes of memory for the job.
  8629.  
  8630.       The  "working set" for your process is the set of memory pages which
  8631.       is currently resident in physical memory and directly accessible  by
  8632.       your  programs.  (A "page" of memory consists of 4,096 bytes).  Your
  8633.       virtual memory space may be larger than your  working  set.   Memory
  8634.       pages  that  are  part  of your virtual memory space but not in your
  8635.       working set may be located either  in  physical  memory  or  in  the
  8636.       system  page  file.  An attempt to access a memory page which is not
  8637.       in your working set causes a "page  fault".   Despite  its  name,  a
  8638.       page  fault  is not an error but rather denotes the process that TSX
  8639.  
  8640.       Chapter 14. TSX Command Summary                                  150
  8641.  
  8642.  
  8643.       performs to add a memory page to your working set.  If  the  maximum
  8644.       allowed  number  of  pages are in your working set when a page fault
  8645.       occurs, the oldest entry in the working set is removed to make  room
  8646.       for the entry being added.
  8647.  
  8648.       Normally,  TSX  performs automatic working set size adjustment based
  8649.       on the page fault rate.  If the number of  page  faults  per  second
  8650.       exceeds  the  value of the "WSDAUPRATE" sysgen parameter the working
  8651.       set  size  is  expanded  by  the  size  of  the  "WSDAUPAMT"  sysgen
  8652.       parameter.   If  the page fault rate is less than the "WSDADOWNRATE"
  8653.       sysgen parameter then the working set size is reduced by  the  value
  8654.       of   the  "WSDADOWNAMT"  sysgen  parameter.   You  can  disable  the
  8655.       automatic  working  set  adjustment  process   by   specifying   the
  8656.       /NOADJUST  qualifier  with  the SET WORKING_SET command.  If this is
  8657.       done, the working set size is held at the maximum  value.   Use  the
  8658.       /ADJUST   qualifier   to   reenable   automatic   working  set  size
  8659.       adjustment.
  8660.  
  8661.       The /MAXIMUM and  /MINIMUM  qualifiers  allow  you  to  specify  the
  8662.       maximum  and  minimum number of K-bytes of space that may be used by
  8663.       the working set.   If  automatic  working  set  size  adjustment  is
  8664.       enabled,  the  working  set size will vary within these limits based
  8665.       on the page fault rate.
  8666.  
  8667.       The SET PROCESS/MAXMEM=size command is used to control  the  maximum
  8668.       amount  of  virtual  memory  space  available  to the job.  The SHOW
  8669.       MEMORY command displays information about memory  space.   The  SHOW
  8670.       PAGING  command  displays  page  fault  statistics.   You  may  type
  8671.       control-T at any time to display your current working set size.
  8672.  
  8673.  
  8674.  
  8675.       14.93 SHOW ALL
  8676.  
  8677.       SHOW ALL displays a variety of system information.
  8678.  
  8679.       Syntax:
  8680.  
  8681.            SHOW ALL
  8682.  
  8683.  
  8684.  
  8685.       14.94 SHOW ASSIGNS
  8686.  
  8687.       SHOW  ASSIGNS  displays  information  about  logical   device   name
  8688.       assignments.
  8689.  
  8690.       Syntax:
  8691.  
  8692.            SHOW ASSIGNS[/qualifiers] [logical_name]
  8693.  
  8694.       Qualifiers:
  8695.  
  8696.          /GLOBAL  Display  only  assignments  in the process global assign
  8697.                  table.
  8698.  
  8699.       Chapter 14. TSX Command Summary                                  151
  8700.  
  8701.  
  8702.          /LOCAL Display only  assignments  in  the  process  local  assign
  8703.                  table.
  8704.  
  8705.          /SYSTEM  Display  only  assignments  in  the system global assign
  8706.                  table.
  8707.  
  8708.  
  8709.  
  8710.       14.95 SHOW AUTHORS
  8711.  
  8712.       SHOW AUTHORS displays the names of the three developers of  TSX-Lite
  8713.       and TSX-32.  The names appear in random order.
  8714.  
  8715.  
  8716.  
  8717.       14.96 SHOW CACHE
  8718.  
  8719.       SHOW CACHE displays statistics about data caching.
  8720.  
  8721.       Syntax:
  8722.  
  8723.            SHOW CACHE
  8724.  
  8725.  
  8726.  
  8727.       14.97 SHOW COLORS
  8728.  
  8729.       SHOW COLORS displays a table of available colors.
  8730.  
  8731.       Syntax:
  8732.  
  8733.            SHOW COLORS
  8734.  
  8735.  
  8736.  
  8737.       14.98 SHOW DATE
  8738.  
  8739.       SHOW DATE displays the current date.  Equivalents: DATE
  8740.  
  8741.       Syntax:
  8742.  
  8743.            SHOW DATE
  8744.  
  8745.  
  8746.  
  8747.       14.99 SHOW DEVICES
  8748.  
  8749.       SHOW  DEVICES  displays  information  about devices installed on the
  8750.       system.
  8751.  
  8752.       Syntax:
  8753.  
  8754.            SHOW DEVICES
  8755.  
  8756.       Chapter 14. TSX Command Summary                                  152
  8757.  
  8758.  
  8759.       14.100 SHOW ERRORS
  8760.  
  8761.       SHOW ERRORS displays error statistics
  8762.  
  8763.       Syntax:
  8764.  
  8765.            SHOW ERRORS
  8766.  
  8767.       See Section 10.6 on page 68 for additional information  about  event
  8768.       and error logs.
  8769.  
  8770.  
  8771.  
  8772.       14.101 SHOW EVENTS
  8773.  
  8774.       The  SHOW EVENTS command is used to display information in event log
  8775.       files.  It is also used to enable and disable event logs.
  8776.  
  8777.       Syntax:
  8778.  
  8779.            SHOW EVENTS
  8780.  
  8781.       The first screen displayed by the SHOW  EVENTS  command  lists  each
  8782.       active  event  log  and shows the number of records in the event log
  8783.       file.  To display the records in an event log file,  use  the  arrow
  8784.       keys  to  select an event log entry and then press Enter.  Press 'R'
  8785.       to reset an event log and delete all files in it.
  8786.  
  8787.       Press 'C' to display a  second  screen  which  lists  all  available
  8788.       event  log  files.   From this screen you can highlight an event log
  8789.       entry and press 'E' to enable the event log or 'D'  to  disable  the
  8790.       event log.
  8791.  
  8792.       Press ESC to exit.
  8793.  
  8794.       See  Section  10.6 on page 68 for additional information about event
  8795.       logs.
  8796.  
  8797.  
  8798.  
  8799.       14.102 SHOW FILES
  8800.  
  8801.       SHOW FILES displays information about open files.
  8802.  
  8803.       Syntax:
  8804.  
  8805.            SHOW FILES[/qualifiers] [filename]
  8806.  
  8807.       If a file name is specified, information is printed  for  that  file
  8808.       only.   If  no  file name is specified, information is printed about
  8809.       all currently open files.  This information shows which  users  have
  8810.       the  file  open  and indicates whether they have it open for read or
  8811.       write access.
  8812.  
  8813.       Chapter 14. TSX Command Summary                                  153
  8814.  
  8815.  
  8816.       Qualifiers:
  8817.  
  8818.          /ID=jobid Show files only for specified job id.
  8819.  
  8820.  
  8821.  
  8822.       14.103 SHOW FSTATUS
  8823.  
  8824.       SHOW FSTATUS displays information about file usage.
  8825.  
  8826.       Syntax:
  8827.  
  8828.            SHOW FSTATUS
  8829.  
  8830.  
  8831.  
  8832.       14.104 SHOW JOBS
  8833.  
  8834.       SHOW JOBS is equivalent to SHOW SYSTEM, described on page 155.   See
  8835.       also the description of the JMAN command on page 117.
  8836.  
  8837.  
  8838.  
  8839.       14.105 SHOW KEYS
  8840.  
  8841.       SHOW KEYS displays a list of your user-defined keys.
  8842.  
  8843.       Syntax:
  8844.  
  8845.            SHOW KEYS
  8846.  
  8847.  
  8848.  
  8849.       14.106 SHOW MEMORY
  8850.  
  8851.       SHOW MEMORY displays information about available memory space.
  8852.  
  8853.       Syntax:
  8854.  
  8855.            SHOW MEMORY
  8856.  
  8857.  
  8858.  
  8859.       14.107 SHOW NAME
  8860.  
  8861.       SHOW  NAME  displays  the  user name and other information about the
  8862.       current job.  This is equivalent to the SHOW UIC command.
  8863.  
  8864.  
  8865.  
  8866.       14.108 SHOW PAGING
  8867.  
  8868.       SHOW PAGING displays statistics about memory paging operations.
  8869.  
  8870.       Chapter 14. TSX Command Summary                                  154
  8871.  
  8872.  
  8873.       Syntax:
  8874.  
  8875.            SHOW PAGING
  8876.  
  8877.  
  8878.  
  8879.       14.109 SHOW PRIVILEGES
  8880.  
  8881.       SHOW PRIVILEGES displays your current and authorized privileges.
  8882.  
  8883.       Syntax:
  8884.  
  8885.            SHOW PRIVILEGES
  8886.  
  8887.  
  8888.  
  8889.       14.110 SHOW QUEUE
  8890.  
  8891.       SHOW QUEUE  displays  information  about  jobs  in  print  or  batch
  8892.       queues.
  8893.  
  8894.       Syntax:
  8895.  
  8896.            SHOW QUEUE[/qualifiers] [queuename]
  8897.  
  8898.       Qualifiers:
  8899.  
  8900.          /BATCH Show information about batch jobs only.
  8901.  
  8902.          /FILES Show information on each file in print queues.
  8903.  
  8904.          /FULL Show all information about queues.
  8905.  
  8906.          /OWNER[=username]   Show   information   on   jobs  submitted  by
  8907.                  specified user.
  8908.  
  8909.          /PRINT Show information about print jobs only.
  8910.  
  8911.  
  8912.  
  8913.       14.111 SHOW SYMBOLS
  8914.  
  8915.       SHOW SYMBOLS displays information about symbol names.
  8916.  
  8917.       Syntax:
  8918.  
  8919.            SHOW SYMBOLS[/qualifiers] [symbol_name]
  8920.  
  8921.       Qualifiers:
  8922.  
  8923.          /ALL (Default) Show symbols from all symbol tables.
  8924.  
  8925.          /GLOBAL Show symbols from global symbol table only.
  8926.  
  8927.       Chapter 14. TSX Command Summary                                  155
  8928.  
  8929.  
  8930.          /LOCAL Show symbols from local symbol table only.
  8931.  
  8932.          /SYSTEM Show symbols from system symbol table only
  8933.  
  8934.  
  8935.  
  8936.       14.112 SHOW SYSTEM
  8937.  
  8938.       SHOW SYSTEM displays information about  each  process.   Equivalent:
  8939.       SHOW  JOBS,  SYSTAT,  WHO.   See  also  the  description of the JMAN
  8940.       command on page 117.
  8941.  
  8942.       Syntax:
  8943.  
  8944.            SHOW SYSTEM[/qualifiers]
  8945.            SHOW JOBS[/qualifiers]
  8946.            SYSTAT[/qualifiers]
  8947.  
  8948.       Qualifiers:
  8949.  
  8950.          /BATCH Show only batch jobs.
  8951.  
  8952.          /DETACHED Show only detached jobs.
  8953.  
  8954.          /INTERACTIVE Show only interactive jobs.
  8955.  
  8956.  
  8957.  
  8958.       14.113 SHOW TERMINALS
  8959.  
  8960.       SHOW TERMINALS displays summary or detail information  about  serial
  8961.       lines.
  8962.  
  8963.       Syntax:
  8964.  
  8965.            SHOW TERMINALS -- Display summary information for all lines.
  8966.  
  8967.            SHOW ttcuu: -- Display details for line ttcuu.
  8968.  
  8969.       See also the description of the TMAN command on page 160.
  8970.  
  8971.  
  8972.  
  8973.       14.114 SHOW TIME
  8974.  
  8975.       SHOW TIME displays the current time of day.  Equivalent: TIME
  8976.  
  8977.       Syntax:
  8978.  
  8979.            SHOW TIME
  8980.            TIME
  8981.  
  8982.       Chapter 14. TSX Command Summary                                  156
  8983.  
  8984.  
  8985.       14.115 SHOW UIC
  8986.  
  8987.       SHOW   UIC   is   equivalent  to  SHOW  NAME.   See  SHOW  NAME  for
  8988.       information.
  8989.  
  8990.  
  8991.  
  8992.       14.116 SHOW USE
  8993.  
  8994.       SHOW USE displays statistics about the utilization of  the  computer
  8995.       system.
  8996.  
  8997.       Syntax:
  8998.  
  8999.            SHOW USE
  9000.  
  9001.  
  9002.  
  9003.       14.117 SHOW USERS
  9004.  
  9005.       SHOW USERS displays information about each logged on user.
  9006.  
  9007.       Syntax:
  9008.  
  9009.            SHOW USERS
  9010.  
  9011.  
  9012.  
  9013.       14.118 SHOW VERSION
  9014.  
  9015.       SHOW  VERSION displays the current TSX version number.  Equivalents:
  9016.       VERSION
  9017.  
  9018.       Syntax:
  9019.  
  9020.            SHOW VERSION
  9021.  
  9022.  
  9023.  
  9024.       14.119 SHUTDOWN
  9025.  
  9026.       The SHUTDOWN command procedure  does  an  orderly  shutdown  of  all
  9027.       jobs.   Once it finishes you can type BOOT or press the reset button
  9028.       to reset your computer.
  9029.  
  9030.  
  9031.  
  9032.       14.120 SORT
  9033.  
  9034.       The SORT command sorts one or more input files and  produces  either
  9035.       a  new sorted output file or writes the sorted records back into the
  9036.       original input file.  Multiple keys may be specified and  a  logical
  9037.       expression  may  be  used to select which records are to be included
  9038.       in the sort.  TSX SORT is  very  fast  and  is  capable  of  sorting
  9039.       enormous files (hundreds of megabytes).
  9040.  
  9041.       Chapter 14. TSX Command Summary                                  157
  9042.  
  9043.  
  9044.       The  TSX  SORT  program  is  provided  with  the  optional  TSX-Lite
  9045.       Utilities Kit (see REGISTER.DOC).
  9046.  
  9047.       Syntax:
  9048.  
  9049.            SORT[/qualifiers] input_file1,input_file2,... [output_file]
  9050.  
  9051.       Qualifiers:
  9052.  
  9053.          /ITYPE=type Specify the type of the input  file.   Type  must  be
  9054.                  one of:
  9055.  
  9056.           CRLF -- Variable length terminated by CR/LF (default).
  9057.  
  9058.           FIXED -- Fixed length records.
  9059.  
  9060.          /KEY=(key1,key2,...)  Specify  one  or  more sort key fields (see
  9061.                  below).
  9062.  
  9063.          /MEMORY=size Specify the maximum number of K-bytes of  memory  to
  9064.                  be used.
  9065.  
  9066.          /NOBLANK Discard blank records.
  9067.  
  9068.          /OTYPE=type Specify type of records in the output file.
  9069.  
  9070.          /QUIET Don't display statistics.
  9071.  
  9072.          /RECLEN=length   Specify  the  record  length  for  fixed  length
  9073.                  records.
  9074.  
  9075.          /SELECT=expression  Include  only  records   satisfying   logical
  9076.                  expression.
  9077.  
  9078.          /SKIP=value  Skip  this  many  records  at the beginning of input
  9079.                  file.
  9080.  
  9081.          /STATISTICS Print detailed statistics.
  9082.  
  9083.          /UNIQUE Discard duplicate records.
  9084.  
  9085.          /WORKFILE=file Use specified work file.
  9086.  
  9087.       Each key specification has the form "tas.l" where 't'  is  the  type
  9088.       of  the  key  (see  below),  'a'  is  'A'  for  ascending or 'D' for
  9089.       descending, 's' is the starting column  number  of  the  field  (the
  9090.       first  column  of the record is 1), and 'l' is the length of the key
  9091.       field.  If 0 is specified for the length,  the  field  extends  from
  9092.       the starting column to the end of the record.
  9093.  
  9094.       The  first  letter  of the key specification denotes the type of the
  9095.       key field.  The table below lists each of the available key types.
  9096.  
  9097.       Chapter 14. TSX Command Summary                                  158
  9098.  
  9099.  
  9100.             A  ASCII collating sequence
  9101.             C  ASCII sequence ignoring case differences
  9102.             D  DBL signed value
  9103.             N  Numeric value string
  9104.             S  Signed binary
  9105.             U  Unsigned binary
  9106.  
  9107.  
  9108.  
  9109.       14.121 SPY
  9110.  
  9111.       SPY monitors data on a serial line.  See  also  the  description  of
  9112.       the  TUTOR  command  (page  65).  Press any key to terminate the spy
  9113.       operation.
  9114.  
  9115.       Syntax:
  9116.  
  9117.            SPY[/qualifiers] terminal_name
  9118.  
  9119.       Qualifiers:
  9120.  
  9121.          /ALLHEX Show all characters in hexadecimal format.
  9122.  
  9123.          /BINARY Display flow control characters.
  9124.  
  9125.          /CRLF Add a carriage-return line-feed  sequence  to  the  end  of
  9126.                  output records.
  9127.  
  9128.          /DISPLAY=file   Display  characters  using  an  EDIT-32  "display
  9129.                  file".
  9130.  
  9131.          /FILE=name Write output to specified file.
  9132.  
  9133.          /FREQUENCY=n  Specify  sampling  frequency  of   n/100   seconds.
  9134.                  (default: 20).
  9135.  
  9136.          /HEX Show non-printing characters in hexadecimal format.
  9137.  
  9138.          /INBUF=size  Allocate  size  bytes  of memory for an input buffer
  9139.                  (default: 512).
  9140.  
  9141.          /INPUT Show input data.
  9142.  
  9143.          /MARK Print labels for incoming and output data.
  9144.  
  9145.          /MODEM Display changes in modem control signals.
  9146.  
  9147.          /OUTBUF=size Allocate size bytes of memory for an  output  buffer
  9148.                  (default: 512).
  9149.  
  9150.          /OUTPUT (Default) Show output data.
  9151.  
  9152.          /SCREEN Enable enhanced screen mode.
  9153.  
  9154.       Chapter 14. TSX Command Summary                                  159
  9155.  
  9156.  
  9157.          /NOSCREEN Do not display data on terminal.
  9158.  
  9159.          /WIDTH=cols Specify the width of terminal output.
  9160.  
  9161.       See  Section  2.6.5  on page 19 for additional information about the
  9162.       SPY command.
  9163.  
  9164.  
  9165.  
  9166.       14.122 STOP
  9167.  
  9168.       STOP stops (logs off) a specified process.
  9169.  
  9170.       Syntax:
  9171.  
  9172.            STOP/qualifiers
  9173.  
  9174.       Qualifiers:
  9175.  
  9176.          /ID=job_id Stop the specified job.
  9177.  
  9178.          /PROGRAM=name Stop all processes running specified program.
  9179.  
  9180.          /USER=name Stop all processes for specified user.
  9181.  
  9182.          /WINDOW=n Stop the  process  running  in  the  specified  virtual
  9183.                  process window.
  9184.  
  9185.  
  9186.  
  9187.       14.123 SUBPROCESS
  9188.  
  9189.       The  SUBPROCESS  keyboard  command  allows  you  to  switch  between
  9190.       subprocesses in the  same  way  that  the  control-W-digit  sequence
  9191.       does.   However,  the  SUBPROCESS command can be placed in a command
  9192.       file, whereas control-W cannot.
  9193.  
  9194.       Syntax:
  9195.  
  9196.            SUBPROCESS[/qualifiers] process_number
  9197.  
  9198.       Qualifiers:
  9199.  
  9200.          /CMDFILE=file Specify a command file  to  run  in  the  specified
  9201.                  subprocess.
  9202.  
  9203.          /COMMAND Specify that /CMDFILE qualifier is a system command.
  9204.  
  9205.          /NOINHERIT Don't inherit information from primary process..
  9206.  
  9207.          /NOSWITCH Create specified subprocess, but do not switch to it.
  9208.  
  9209.       The  SUBPROCESS  command allows you to select a subprocess similarly
  9210.       to typing control-W-digit.  The  command  accepts  one  argument,  a
  9211.       digit 0 to 9 which indicates the desired subprocess to switch to.
  9212.  
  9213.       Chapter 14. TSX Command Summary                                  160
  9214.  
  9215.  
  9216.       Here  is  an  example  command  which  will  create subprocess 1 and
  9217.       switch terminal control to it:
  9218.  
  9219.            SUBPROCESS 1
  9220.  
  9221.       As a result of this command, the new sub-process will start just  as
  9222.       if ctrl-W-1 were typed to select session 1.
  9223.  
  9224.       The  following  command  initiates  subprocess  1  and  executes the
  9225.       command file SY:RAMSTART.CMD but does not  switch  terminal  control
  9226.       to  the  subprocess.  Later, if you type Ctrl-W-1, you may switch to
  9227.       the running program initiated by SY:RAMSTART.CMD,
  9228.  
  9229.            SUBPROCESS/NOSWITCH/CMDFILE=SY:RAMSTART.CMD 1
  9230.  
  9231.  
  9232.  
  9233.       14.124 SYSMON
  9234.  
  9235.       SYSMON displays dynamic information about system activities.
  9236.  
  9237.       Syntax:
  9238.  
  9239.            SYSMON
  9240.  
  9241.  
  9242.  
  9243.       14.125 SYSTAT
  9244.  
  9245.       SYSTAT -- See SHOW SYSTEM (page 155).
  9246.  
  9247.  
  9248.  
  9249.       14.126 TIME
  9250.  
  9251.       TIME See SHOW TIME
  9252.  
  9253.  
  9254.  
  9255.       14.127 TMAN
  9256.  
  9257.       TMAN is a full screen terminal  management  utility.   Use  TMAN  to
  9258.       display  information  about  your  terminal lines and perform common
  9259.       system management functions.
  9260.  
  9261.       Syntax:
  9262.  
  9263.            TMAN
  9264.  
  9265.       In response to  the  TMAN  command,  TSX  displays  a  list  of  the
  9266.       terminal  lines.   A menu of action keys appears to the right of the
  9267.       terminal list; choose an action by typing the appropriate key.
  9268.  
  9269.       Chapter 14. TSX Command Summary                                  161
  9270.  
  9271.  
  9272.       14.128 TSAUTH
  9273.  
  9274.       TSAUTH invokes the TSX  user  authorization  utility.   The  account
  9275.       authorization  facilities  are  supplied  with the optional TSX-Lite
  9276.       Security Kit (see REGISTER.DOC).
  9277.  
  9278.  
  9279.  
  9280.       14.129 TUTOR
  9281.  
  9282.       TUTOR allows one user to "tutor" another's line so  that  each  user
  9283.       sees  the  same  output  and  either  user  can  type  input.   Type
  9284.       control-backslash  followed  by   Enter   to   release   the   tutor
  9285.       connection.
  9286.  
  9287.       Syntax:
  9288.  
  9289.            TUTOR terminal
  9290.  
  9291.       See  Section  10.2.6 on page 65 for additional information about the
  9292.       TUTOR command.
  9293.  
  9294.  
  9295.  
  9296.       14.130 TYPE
  9297.  
  9298.       TYPE prints one or more files at your terminal.
  9299.  
  9300.       Syntax:
  9301.  
  9302.            TYPE[/qualifiers] filespec
  9303.  
  9304.       Qualifiers:
  9305.  
  9306.          /BEFORE[=date-time] Select files created  before  specified  date
  9307.                  and time.
  9308.  
  9309.          /[NO]CONFIRM Request confirmation before typing each file.
  9310.  
  9311.          /DATE[=date] Select files created on the given date.
  9312.  
  9313.          /[NO]DELETE Delete file after typing it.
  9314.  
  9315.          /END=n Stop output after specified line number.
  9316.  
  9317.          /EXCLUDE=(files) Exclude specified files from being typed.
  9318.  
  9319.          /[NO]HEADER  Write  a  header  line  for  each  file typed at the
  9320.                  terminal.
  9321.  
  9322.          /[NO]LOG Type file name before typing file.
  9323.  
  9324.          /MAXIMUM=n Specify the maximum number of lines to be  typed  from
  9325.                  a file.
  9326.  
  9327.       Chapter 14. TSX Command Summary                                  162
  9328.  
  9329.  
  9330.          /NEWFILE Type only files created today.
  9331.  
  9332.          /[NO]PAGE Divide output into pages.
  9333.  
  9334.          /[NO]QUERY Same as /[NO]CONFIRM.
  9335.  
  9336.          /SINCE[=date-time]  Select files created since specified date and
  9337.                  time.
  9338.  
  9339.          /START=n Start typing at line n.
  9340.  
  9341.  
  9342.  
  9343.       14.131 TSGEN
  9344.  
  9345.       TSGEN allows you to  examine  or  modify  system  customization  and
  9346.       tuning parameters.
  9347.  
  9348.       Syntax:
  9349.  
  9350.            TSGEN [genfile] [kernel]
  9351.  
  9352.       Examples:
  9353.  
  9354.            TSGEN
  9355.            TSGEN TSX32
  9356.            TSGEN TSX32.GEN C:\TSX32.SYS
  9357.  
  9358.       See  Sections  2.4  and  12.4 for additional information about using
  9359.       TSGEN.
  9360.  
  9361.  
  9362.  
  9363.       14.132 UNPROTECT
  9364.  
  9365.       UNPROTECT turns off  file  protection  for  one  or  more  specified
  9366.       files.
  9367.  
  9368.       Syntax:
  9369.  
  9370.            UNPROTECT[/qualifiers] filespec
  9371.  
  9372.       Qualifiers:
  9373.  
  9374.          /BEFORE[=date-time]  Select  files  created before specified date
  9375.                  and time.
  9376.  
  9377.          /[NO]CONFIRM Request confirmation before acting on each file.
  9378.  
  9379.          /DATE[=date] Select files created on the specified date.
  9380.  
  9381.          /EXCLUDE=(files) Do not select specified files.
  9382.  
  9383.          /[NO]LOG Type the file name before acting on each file.
  9384.  
  9385.       Chapter 14. TSX Command Summary                                  163
  9386.  
  9387.  
  9388.          /NEW Act only on files created today.
  9389.  
  9390.          /[NO]QUERY Same as /[NO]CONFIRM.
  9391.  
  9392.          /SINCE[=date-time] Select files created since specified date  and
  9393.                  time.
  9394.  
  9395.  
  9396.  
  9397.       14.133 VERSION
  9398.  
  9399.       VERSION -- See SHOW VERSION
  9400.  
  9401.  
  9402.  
  9403.       14.134 WAIT
  9404.  
  9405.       WAIT pauses command file execution for a specified length of time.
  9406.  
  9407.       Syntax:
  9408.  
  9409.            WAIT time
  9410.  
  9411.       Examples:
  9412.  
  9413.            WAIT 1.5
  9414.            WAIT 1:05
  9415.            WAIT 2:30:00
  9416.  
  9417.       The  WAIT  time  value  is  in  units  of  seconds, but you can also
  9418.       specify a value using the format "hh:mm:ss.ddd".
  9419.  
  9420.  
  9421.  
  9422.       14.135 WHO
  9423.  
  9424.       WHO -- See SHOW SYSTEM and JMAN.
  9425.  
  9426.  
  9427.  
  9428.       14.136 WIN
  9429.  
  9430.       The WIN command starts the execution of Microsoft Windows as a  task
  9431.       under  TSX.   Windows must run in standard (not enhanced) mode under
  9432.       TSX.
  9433.  
  9434.       Syntax:
  9435.  
  9436.            WIN
  9437.  
  9438.       Once Windows is in operation you  can  run  programs  such  as  Page
  9439.       Maker  in the Windows environment under TSX.  You may only issue the
  9440.       WIN command while running from the console.
  9441.  
  9442.       Chapter 14. TSX Command Summary                                  164
  9443.  
  9444.  
  9445.       Before issuing the WIN command you should assign the logical  device
  9446.       name  COM1 to the serial port to which your mouse is connected.  For
  9447.       example, if the mouse is connected to the actual COM1  port  on  the
  9448.       computer,  which  has  the TSX device name TTB0:, then the following
  9449.       ASSIGN statement would be used:
  9450.  
  9451.            ASSIGN TTB0: COM1
  9452.  
  9453.       Any serial port may be used for the mouse connection as long as  the
  9454.       appropriate  ASSIGN  command  is  issued.   If  you wish to place an
  9455.       ASSIGN command in the SY:LSTARTUP.CMD system-wide  start-up  command
  9456.       file,  you  must use the /SYSTEM qualifier to make the assignment on
  9457.       a system-wide basis.  The following line is an example of this:
  9458.  
  9459.            ASSIGN/SYSTEM TTB0: COM1
  9460.  
  9461.       Once the assignment of COM1 has been verified,  TSX  looks  for  the
  9462.       Windows   files   in  each  directory  that  is  part  of  the  PATH
  9463.       specification.  Therefore, your PATH specification must include  the
  9464.       directory with the Windows files (typically C:\WINDOWS).
  9465.  
  9466.       TSX  currently  supports  only the Paradise 512 and Tseng 4000 video
  9467.       controllers in super VGA modes, so if you have some  other  type  of
  9468.       card you will have to use it in standard VGA mode.
  9469.  
  9470.       Windows  should  be  configured  to access disk files using standard
  9471.       DOS I/O operations rather than  attempting  any  type  of  enhanced,
  9472.       direct I/O.
  9473.  
  9474.  
  9475.  
  9476.       14.137 WSCMD
  9477.  
  9478.       WSCMD  Used  to perform a file transfer operation between TSX system
  9479.       and a workstation running TSXTERM.  See Chapter  11  for  additional
  9480.       information about TSXTERM.
  9481.  
  9482.       Syntax:
  9483.  
  9484.            WSCMD TOWS file1 file2
  9485.            WSCMD TOHOST file1 file2
  9486.            WSCMD CD \directory
  9487.            WSCMD BYE
  9488.  
  9489.       Qualifiers:
  9490.  
  9491.          /NOWAIT Start transfer but do not wait for it to complete.
  9492.  
  9493.       The  TOWS command transfers a file from the TSX host computer to the
  9494.       workstation running TSXTERM.  FROMHOST and DOWNLOAD  are  synonymous
  9495.       keywords for TOWS.
  9496.  
  9497.       The  TOHOST command transfers a file from the TSXTERM workstation to
  9498.       the host computer.  FROMWS and UPLOAD are  synonymous  keywords  for
  9499.       TOHOST.
  9500.  
  9501.       Chapter 14. TSX Command Summary                                  165
  9502.  
  9503.  
  9504.       The CD command changes the default directory on the workstation.
  9505.  
  9506.       The  BYE command causes TSXTERM to wait 5 seconds, then exit to DOS.
  9507.       Note that a command procedure can log out during the pause.
  9508.  
  9509.       For example, the following commands change the default directory  on
  9510.       the  workstation  to  \WORK  and then transfer a file named TROY.DAT
  9511.       from current directory on the host TSX computer to the workstation:
  9512.  
  9513.            WSCMD CD \WORK
  9514.            WSCMD TOWS TROY.DAT
  9515.  
  9516.       If you wish to assign a different name to the output than the  input
  9517.       file,  specify  the  new  file  name  as the second parameter to the
  9518.       command.  You may also provide a full file specification,  including
  9519.       device  letter  and  directory  names.   For  example, the following
  9520.       command  transfers  a  file  named  CRUSHER.DAT  from  the  \MEDICAL
  9521.       directory  on  the  'A'  disk  of  the  workstation  to a file named
  9522.       ILLNESS.DAT on the host computer:
  9523.  
  9524.            WSCMD TOHOST A:\MEDICAL\CRUSHER.DAT ILLNESS.DAT
  9525.  
  9526.       The /NOWAIT qualifier can be  specified  to  cause  the  command  to
  9527.       start  a  transfer but not wait for it to complete.  A WSCMD without
  9528.       any arguments can be used to wait for a previously  started  command
  9529.       to  finish.  For example, the following commands initiate a transfer
  9530.       of the file FARM1.DAT from the host to the  workstation,  and  then,
  9531.       while  the  transfer  is taking place, perform a sort, then wait for
  9532.       the transfer to complete:
  9533.  
  9534.            WSCMD/NOWAIT TOWS FARM1.DAT
  9535.            SORT BIGFILE.DAT
  9536.            WSCMD
  9537.  
  9538.  
  9539.  
  9540.  
  9541.  
  9542.  
  9543.                                    Chapter 15
  9544.  
  9545.                         Use and Distribution of TSX-Lite
  9546.  
  9547.  
  9548.  
  9549.  
  9550.  
  9551.       15.1 Redistribution of TSX-Lite
  9552.  
  9553.       TSX-Lite is a shareware product.  You are welcome to make copies  of
  9554.       the  TSX-Lite  distribution and pass them on to friends or post this
  9555.       program on  bulletin  boards  or  distribute  it  via  disk  catalog
  9556.       services  provided  the  entire TSX-Lite distribution is included in
  9557.       its original, unmodified form and no files are  added,  deleted,  or
  9558.       modified.   A  distribution  fee  may be charged for the cost of the
  9559.       diskette, shipping and  handling.   However,  TSX-Lite  may  not  be
  9560.       sold,  or  incorporated in another product that is sold, without the
  9561.       permission of S&H Computer Systems, Inc.  Vendors are encouraged  to
  9562.       contact S&H to get the most recent version of TSX-Lite.
  9563.  
  9564.  
  9565.       15.2 Registering TSX-Lite
  9566.  
  9567.       Shareware  is  a  type  of  software  distribution  that gives you a
  9568.       chance to try a software product before you decide if  you  want  to
  9569.       pay   for   it.   A  shareware  product,  such  as  TSX-Lite,  is  a
  9570.       copyrighted program; it is NOT public  domain  or  "freeware".   Its
  9571.       use  is  governed  by  the  terms of the shareware license and it is
  9572.       protected  by  the  copyright  laws  of  the   United   States   and
  9573.       international agreements.
  9574.  
  9575.       As  a  shareware product, you are granted a no-cost, trial period of
  9576.       30 days during  which  you  may  evaluate  TSX-Lite.   If  you  find
  9577.       TSX-Lite   to  be  useful,  educational,  and/or  entertaining,  and
  9578.       continue to use it beyond the 30 day trial period, you are  required
  9579.       to  register  your  use  by  sending  the  registration  form in the
  9580.       REGISTER.DOC file along with the appropriate registration fee.
  9581.  
  9582.  
  9583.       15.3 Telephone Support
  9584.  
  9585.       Both registered and unregistered users of TSX-Lite  are  welcome  to
  9586.       call  for  technical  assistance.  The fee for this service is $1.50
  9587.       per minute which may be charged to a Visa, MasterCard,  or  American
  9588.       Express  credit  card.   There  is  a $10.00 minimum charge for each
  9589.       call.  The S&H support number is 615-327-3670.
  9590.  
  9591.  
  9592.  
  9593.  
  9594.  
  9595.                                       166
  9596.  
  9597.       Chapter 15. Use and Distribution of TSX-Lite                     167
  9598.  
  9599.  
  9600.       15.4 Copyright notice
  9601.  
  9602.       The TSX-Lite and TSX-32 systems and documentation are copyright  (c)
  9603.       1990-1993  by  S&H Computer Systems Inc.  These products may only be
  9604.       used in accordance with the terms of the written license.
  9605.  
  9606.       TSX-Lite,  TSX-32,  TSX-Plus,  TSX,  MessageNet,  TSXTERM,  Edit-32,
  9607.       TSX-Net,  and  Adaptive  Scheduling  Algorithm are trademarks of S&H
  9608.       Computer Systems, Inc.
  9609.  
  9610.       Note that TSX-Lite is a shareware product and may be distributed  as
  9611.       described  in  Section  15.1;  however,  TSX-32  is  NOT a shareware
  9612.       product and it may only be distributed by licensed distributors.
  9613.  
  9614.  
  9615.       15.5 Disclaimer
  9616.  
  9617.       TSX-Lite is provided "as is" without warranty of  any  kind,  either
  9618.       expressed  or  implied.  TSX may contain "bugs" which interfere with
  9619.       its operation and not all programs will run correctly with it.   S&H
  9620.       Computer  Systems  assumes no responsibility for the use of TSX-Lite
  9621.       and will not be responsible for any damage resulting from its use.
  9622.  
  9623.  
  9624.  
  9625.  
  9626.  
  9627.  
  9628.                                    Chapter 16
  9629.  
  9630.                              The Full TSX-32 System
  9631.  
  9632.  
  9633.  
  9634.  
  9635.       If you like TSX-Lite but need to support more  than  two  users,  or
  9636.       need  networking, real-time, or 32-bit development tools, it is time
  9637.       to step up to a full TSX-32 system.  The following  list  summarizes
  9638.       features  that  either  come  with,  or are available as options for
  9639.       TSX-32.
  9640.  
  9641.  
  9642.       16.1 Support for Large Systems
  9643.  
  9644.       Whereas TSX-Lite is  limited  to  supporting  two  users,  the  full
  9645.       TSX-32  system  is available with or without limits on the number of
  9646.       interactive  users.   Most  TSX  installations  run  8,  16,  or  32
  9647.       terminal  lines,  with  some  systems  supporting  over  100  users.
  9648.       TSX-32 supports "smart" serial cards and multi-console devices  from
  9649.       several vendors.
  9650.  
  9651.  
  9652.       16.2 Networking
  9653.  
  9654.       TSX-32  networking  is  a  full featured, TCP/IP based, peer-to-peer
  9655.       network.   Programs  can  transparently  access  files  across   the
  9656.       network  including  full  file  sharing  and record locking.  Remote
  9657.       login allows you to work on other network  nodes  as  easily  as  if
  9658.       your  workstation  were  directly connected to them.  Other features
  9659.       include remote program execution, printer sharing, and an  interface
  9660.       to  Internet  and systems such as VAX/VMS, Unix, and Novell, through
  9661.       FTP, Telnet, and NFS.
  9662.  
  9663.  
  9664.       16.3 Real-time Support
  9665.  
  9666.       S&H is famous  for  combining  critical  real-time  facilities  with
  9667.       timesharing  services  on  the  same computer.  TSX-32 is the choice
  9668.       for  factory  automation,  instrumentation,  and   other   real-time
  9669.       applications.
  9670.  
  9671.  
  9672.       16.4 Disk Shadowing
  9673.  
  9674.       The  disk  shadowing  option  for  TSX-32  causes  changes  made  to
  9675.       selected files on one disk  to  be  "shadowed"  (or  "mirrored")  to
  9676.       another   disk  on  either  the  same  machine  or  another  machine
  9677.       connected through the  network.   This  makes  it  easy  to  set  up
  9678.  
  9679.  
  9680.                                       168
  9681.  
  9682.       Chapter 16. The Full TSX-32 System                               169
  9683.  
  9684.  
  9685.       fault-tolerant  systems that can quickly recover without losing data
  9686.       even if one disk or computer goes down.
  9687.  
  9688.  
  9689.       16.5 Tape Support
  9690.  
  9691.       SCSI tape support allows the TSX  BACKUP  and  RESTORE  programs  to
  9692.       manage large data loads with ease.
  9693.  
  9694.  
  9695.       16.6 X-Windows
  9696.  
  9697.       X  Windows  is  a  network-based  Graphical  User  Interface that is
  9698.       widely used on larger computer systems.
  9699.  
  9700.  
  9701.       16.7 MessageNet
  9702.  
  9703.       MessageNet is  the  electronic  mail  system  for  TSX.   The  basic
  9704.       MessageNet  system, which is provided when you register TSX-Lite and
  9705.       is a standard part of TSX-32, allows users to send  electronic  mail
  9706.       to  each other.  It features address books, mailing lists, and "file
  9707.       folders"  for  storing  mail.   The  optional  Advanced   MessageNet
  9708.       product  extends  MessageNet  to  allow  messages to be sent between
  9709.       computers running TSX.  These transfers can take place on  a  demand
  9710.       basis  or at scheduled times to take advantage of lower phone rates.
  9711.       Advanced MessageNet also provides a bridge to global e-mail  systems
  9712.       such as EasyLink and MCI Mail.
  9713.  
  9714.  
  9715.       16.8 Single-user Option
  9716.  
  9717.       For  those  situations  where  TSX-32 may be used in a networking or
  9718.       real-time environment, a low-cost, single-user version of TSX-32  is
  9719.       available.    This  version  supports  real-time,  networking,  disk
  9720.       shadowing, and all of the features of the full  product  but  limits
  9721.       access  to  one  user  at a time.  This is especially attractive for
  9722.       factory automation and instrumentation applications.
  9723.  
  9724.       Chapter 16. The Full TSX-32 System                               170
  9725.  
  9726.  
  9727.       S&H Computer Systems wants to  be  your  operating  system  business
  9728.       partner.   We  regularly enhance our product to suit customer needs,
  9729.       assist customers in using the TSX environment as an  application  or
  9730.       development   platform,   and   employ  a  vast  array  of  built-in
  9731.       diagnostic tools to help solve problems.  You have now had  a  taste
  9732.       of  our  product.   What  we  can't  convey  with this demonstration
  9733.       version is that the staff at  S&H  is  helpful,  knowledgeable,  and
  9734.       available.  Please call us and experience the S&H difference today!
  9735.  
  9736.                            S&H Computer Systems, Inc.
  9737.                             1027 17th Avenue, South
  9738.                          Nashville, TN 37212-2299  USA
  9739.  
  9740.                               Phone: 615-327-3670
  9741.                               Fax:   615-321-5929
  9742.                               CompuServe: 71333,27
  9743.                        Internet: 71333.27@compuserve.com
  9744.  
  9745.       Index                                                            171
  9746.  
  9747.  
  9748.       16550 UART adapters, 13, 83                  26
  9749.       Adaptive scheduling, 3              Control characters, 24
  9750.       ALLOCATE command, 86                COPY command, 95
  9751.       ALT-digit session selection,        Copyright notice, 167
  9752.                9                          COUNT command, 97
  9753.       ANSI terminals, 15, 23, 62          CSHSIZE sysgen parameter, 77
  9754.       Answer enable, 17                   Ctrl-W-digit, 9
  9755.       ASSIGN command, 86                  Data cache, 4
  9756.          system wide symbols, 76             showing statistics, 151
  9757.       ASSIGNMENT command, 86                 size of, 77
  9758.       Authors of TSX-Lite                 Data caching, 67
  9759.          Dan Cappannari, 151              Datascope, 19
  9760.          John Mott, 151                   Date
  9761.          Phil Sherrod, 151                DATE command, 98
  9762.       Autobaud setting, 15, 17               displaying, 151
  9763.       AUX device name, 30                    format of, 85
  9764.       Background batch jobs, 53              setting, 137
  9765.       BACKUP command, 87                  DEALLOCATE command, 98
  9766.       BATCH command, 53, 63, 91           DEASSIGN command, 98
  9767.       Batch files, 52                     DEC terminals, 16, 23, 62
  9768.       Baud rate setting, 15               DEFDWRITE parameter, 30
  9769.       BBS server, 2                       DEFINE KEY command, 99
  9770.       BBS software                        DELETE command, 99
  9771.          setting up, 11                   DESQView, 2, 9
  9772.       BIOS, 3                             DETACH command, 100
  9773.       BOOT command, 22, 92, 156           Device names, 39
  9774.       Bulletin board server, 2            DIFFERENCES command, 102
  9775.       Bulletin board software             Direct write programs, 29
  9776.          setting up, 11                   DIRECTORY command, 104
  9777.       BYE command, 92                     Directory searching, 39
  9778.       CALCULATE command, 92               Disclaimer, 167
  9779.       CALENDAR command, 93                Disk shadowing, 168
  9780.       CALL command, 93                    DISPLAY command, 55, 106
  9781.       Cappannari, Dan, 151                DOQUEUES sysgen parameter, 78
  9782.       CD command, 94                      DOS command, 31, 106
  9783.       CD ROM support, 21                  DOSLPTTIME sysgen parameter,
  9784.       CGA controllers, 62                          34
  9785.       CHAIN command, 93                   DOSNET option, 12
  9786.       Chat                                DOSNETFLAG sysgen parameter,
  9787.          see PHONE command, 65                     68
  9788.       CHDIR command, 94                   DOWINPRT sysgen parameter, 78
  9789.       CHKDSK, 28                          DPMI, 36
  9790.       CLS command, 94                     DUMP command, 106
  9791.       Colors                              E-mail, 169
  9792.          setting, 145                     E32, 107
  9793.          showing possible, 151            EasyLink interface, 169
  9794.       COM port setup, 13                  EDIT command, 107
  9795.       COM3 setup, 20                      EDIT-32, 107
  9796.       Command files, 52                   EMM386, 35
  9797.       COMMAND.COM running, 31, 106        EMS, 35
  9798.       Commands, 85                        EMS enabling, 143
  9799.       Communication lines, 26             Environment variables, 30
  9800.       CON device name, 30                 Error logs, 68
  9801.       Console screen saver, 26            Ethernet, 3, 63
  9802.       CONSSTIME sysgen parameter,         EVALUATE command, 107
  9803.  
  9804.       Index                                                            172
  9805.  
  9806.  
  9807.       EVENT command, 108                  LOGOFF command, 118
  9808.       Event logs, 68, 152                 LOGON program, 19, 75
  9809.       Execution priority                  Lost characters, 83
  9810.          setting, 143                     LSTARTUP.CMD file, 74, 76
  9811.       EXIT command, 108                   MACROS command, 118
  9812.       EXP executable programs, 36         MAIL command, 120
  9813.       EXPAND command, 108                 Mailboxes, 69
  9814.       Expanded memory, 35                 MAKELOAD program, 74
  9815.       Explicit printing, 47               MAXP0MEM parameter, 35, 78,
  9816.       Extended memory, 35                          84
  9817.       Factoring commands, 97              MCI Mail interface, 169
  9818.       File access control, 19, 113        MD command, 120
  9819.       File protection, 113                Memory
  9820.       FILEWATCH command, 110              Memory page, 66
  9821.       Flow control, 16                    Memory space limit, 35, 78,
  9822.       FMAN command, 111                            84
  9823.       Foreign keyboards, 27                  displaying size, 153
  9824.       FORMAT command, 114                    paging statistics, 153
  9825.       FPROTECT program, 19                   setting virtual size, 143
  9826.       French keyboards, 27                MESSAGE command, 120
  9827.       FTP, 2, 168                         MessageNet, 120, 169
  9828.       German keyboards, 27                MetaWare High C, 36
  9829.       GOTO command, 54, 115               Microsoft Windows, 163
  9830.       Handshaking setting, 16             MINIGEN, 10
  9831.       HANLOAD command, 115                Mirroring disks, 168
  9832.       HELP command, 115                   MKDIR command, 121
  9833.       High C, 36                          MN command, 121
  9834.       High Sierra CD ROM format, 21       Modem connection, 13, 15, 17
  9835.       HIMEM.SYS, 35                          answer enable, 17
  9836.       HOLDPRIO option, 11                    S0 register, 17
  9837.       IDLETIME attribute, 33              Modem reset string, 16
  9838.       IDLETIME parameter, 12              Mott, John, 151
  9839.       IF command, 55, 115                 Mouse support, 21
  9840.       Implicit printing, 47               MOUSEPORT logical name, 21,
  9841.       Incremental backup, 90                       82
  9842.       INITIALIZE command, 116             Multi-console adapters, 63
  9843.       INQUIRE command, 55, 116            Multi-user, 3
  9844.       INSTALL.CMD file, 29, 74, 123       Names of devices, 39
  9845.       International keyboards, 27         Native system services, 36
  9846.       Internet access, 2, 168             NDP Fortran, 36
  9847.       Introduction, 1                     NetBIOS support, 68
  9848.       Italian keyboards, 27               Networking, 168
  9849.       JMAN command, 117                   NFS, 168
  9850.       KERMIT command, 117                 NODWRITE option, 12
  9851.       Kernel file, 3                      Novell, 2
  9852.       Keyboard                            Novell connection, 168
  9853.       Keyboard mapping, 27                NUL device name, 30
  9854.          problems, 81                     Null modem, 13
  9855.       KEYLOAD command, 27, 117            Numeric comparison, 56
  9856.       KILL command, 118                   Numeric operators, 56
  9857.       Lantastic, 2                        Numeric symbols, 44
  9858.       Lexical functions, 57               OFF command, 121
  9859.       Log files, 53                       ON command, 121
  9860.       Logging of terminal I/O, 140        Operators, 56
  9861.       Logical operators, 57                  logical, 57
  9862.  
  9863.       Index                                                            173
  9864.  
  9865.  
  9866.          numeric, 56                      RESTORE command, 129
  9867.          numeric comparison, 56           Ring answer enable, 17
  9868.          string, 56                       RMDIR command, 131
  9869.          string comparison, 56            RS232 signals, 13
  9870.       Page fault, 66                      RTS/CTS flow control, 16
  9871.       Page Maker, 163                     RUN command, 131
  9872.       Page of memory, 66                  RUNPRIORITY parameter, 54
  9873.       PAGEFILE.TSX file                   RUNTSX program
  9874.          controlling size, 78                problems, 80
  9875.       Paradise 512 video, 164             S0 modem register, 17
  9876.       Parity setting, 15                  Scheduling algorithm, 3
  9877.       Password for lines, 15, 18          Screen corruption, 82
  9878.       PATH command, 122                   Screen print, 78
  9879.       PAUSE command, 123                  Screen saver, 26
  9880.       PC Anywhere, 2                      Scroll lock key, 7
  9881.       PC-Term terminals, 16, 24           SCSI support, 169
  9882.       PGFILSIZ sysgen parameter, 78       SEARCH command, 132
  9883.       Phar Lap, 36                        Security Kit, 19
  9884.       PHONE command, 65, 123              SEND command, 64, 135
  9885.       Phone connection, 15                Session Manager, 7
  9886.       Phone lines, 17                     SET CMDPROC command, 136
  9887.       PMAN command, 11, 28, 123           SET DATE command, 98, 137
  9888.       POOLSIZEN sysgen parameter,         SET DEFAULT command, 137
  9889.                78                         SET EDIT command, 137
  9890.       PRIDEF sysgen parameter, 11,        SET ENTRY command, 138
  9891.                54                         SET EVENT command, 138
  9892.       PRINT command, 124                  SET HOST command, 138
  9893.       Printing, 47                        SET LOG command, 140
  9894.       Priority of batch jobs, 54          SET LOGOFF command, 140
  9895.       Priority of subprocesses, 11        SET MESSAGE command, 141
  9896.       Privileges                          SET NEWSTATISTICS command,
  9897.          displaying, 154                           141
  9898.       PRIVIR sysgen parameter, 11         SET NOVERIFY command, 56
  9899.       PRN device name, 30                 SET PRINTWINDOW command, 142
  9900.       Process windowing, 7                SET PROCESS command, 143
  9901.       PROMPT command, 125                 SET symbol command, 144
  9902.       PROTECT command, 126                SET SYSTEM command, 144
  9903.       PROTECT.CMD file, 75                SET TERMINAL command, 145
  9904.       Protected mode, 28                  SET TIME command, 148
  9905.       QINIT.CMD file, 83                  SET VERIFY command, 56, 148
  9906.       QMAN command, 126                   SET VIDEO command, 148
  9907.       QUEMAN.LOG file, 83                 SET WINDOW command, 149
  9908.       QUEMAN.SYS file, 83                 SET WORKING_SET command, 149
  9909.       Queue manager, 47                   Shadowing disks, 168
  9910.          problems, 83                     Shared memory regions, 69
  9911.       R command, 127                      Sherrod, Phil, 151
  9912.       RAMDISKSIZ sysgen parameter,        SHOW ALL command, 150
  9913.                79                         SHOW ASSIGNS command, 150
  9914.       RD command, 127                     SHOW AUTHORS command, 151
  9915.       Real-time support, 168              SHOW CACHE command, 151
  9916.       Rebooting, 22, 92, 156              SHOW COLORS command, 151
  9917.       RECALL command, 127                 SHOW DATE command, 151
  9918.       Registering TSX-Lite, 166           SHOW DEVICES command, 151
  9919.       Relisys terminals, 24, 62           SHOW ERRORS command, 68, 152
  9920.       RENAME command, 128                 SHOW EVENTS command, 152
  9921.  
  9922.       Index                                                            174
  9923.  
  9924.  
  9925.       SHOW FILES command, 152             Terminal printers, 50
  9926.       SHOW FSTATUS command, 153           Terminal type setting, 15
  9927.       SHOW JOBS command, 153              Terminal types, 23
  9928.       SHOW KEYS command, 153              Terminate and Stay Resident,
  9929.       SHOW MEMORY command, 153                     31
  9930.       SHOW NAME command, 153              Time
  9931.       SHOW PAGING command, 153            TIME command, 160
  9932.       SHOW PRIVILEGES command, 154        Time-sharing, 3
  9933.       SHOW QUEUE command, 154                format of, 85
  9934.       SHOW SYMBOLS command, 154              setting, 148
  9935.       SHOW SYSTEM command, 155            TMAN command, 160
  9936.       SHUTDOWN procedure, 22, 92,         Trademark notice, 167
  9937.                156                        Troubleshooting, 80
  9938.       SMD.DOC file, 42                    TSAUTH program, 19, 76, 161
  9939.       SORT command, 156                   Tseng 4000 video card, 164
  9940.       Spanish keyboards, 27               Tseng VGA controllers, 62, 82
  9941.       Speed setting, 15                   TSGEN, 9, 162
  9942.       Spitfire, 9                         TSR programs, 31, 83
  9943.          installing, 11                   TSX-32, 168
  9944.       SPOOL.SYS file, 83                  TSX32.SYS file, 3
  9945.       Spooler, 47                         TSXLOAD.CMD file, 74
  9946.       Spooler problems, 83                TSXTERM, 70
  9947.       SPOOLER.LOG file, 83                TSXUAF.TSX file, 76
  9948.       SPY command, 19, 158                Tuning the system, 77
  9949.       START.CMD, 75                       TUTOR command, 65, 161
  9950.       STARTQUE.CMD file, 83               TYPE command, 161
  9951.       STARTUP.CMD file, 74                UART adapters, 13
  9952.       Statistics                          UART emulation, 34
  9953.          resetting, 141                   UNPROTECT command, 162
  9954.       STOP command, 64, 159               VERSION command, 163
  9955.       String comparisons, 56              VGA controllers, 62, 82
  9956.       String operators, 56                Virtual disk, 79
  9957.       String symbols, 43, 87              Virtual memory, 35, 65, 78,
  9958.       SUBPROCESS command, 159                      84
  9959.       Symbols, 55                         Virtual UART support, 34
  9960.          defining, 86                     VMAXJOBS sysgen parameter, 77
  9961.          removing, 98                     VT100 terminals, 16, 23
  9962.          string, 87                       VTxxx terminals, 62
  9963.       SYSMON command, 160                 WAIT command, 163
  9964.       SYSPASSPR sysgen parameter,         Warranty, 167
  9965.                18                         WHO command, 163
  9966.       SYSPASSWORD sysgen parameter,       Wildcard specifications, 39
  9967.                15, 18                     Wildcat
  9968.       SYSTAT command, 160                    installing, 12
  9969.       System commands, 85                 WIN command, 163
  9970.       System management, 74               Windows under TSX, 163
  9971.       System password, 15, 18             WINPRT program, 142
  9972.       System statistics                   Working set, 66
  9973.          resetting, 141                   Working set size, 149
  9974.       System wide logical symbols,           controlling size, 149
  9975.                76                         WSCMD command, 164
  9976.       Tape support, 169                   Wyse terminals, 24
  9977.       TCP/IP networking, 168              XMS, 35
  9978.       Telephone support, 166              XON/XOFF flow control, 16
  9979.       Telnet, 2, 63, 168
  9980.